在c语言中怎样定义字符串
char'a';是定义单字符的那字符串怎么定义啊求解说具体点我就是想在c语言中把一句话用一个字母表示如果用if去转换的话就太麻烦了...
char 'a' ; 是定义单字符的 那字符串怎么定义啊 求解
说具体点 我就是想在c语言中把一句话用一个字母表示 如果用if 去转换的话就太麻烦了 展开
说具体点 我就是想在c语言中把一句话用一个字母表示 如果用if 去转换的话就太麻烦了 展开
14个回答
展开全部
可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。
下面通过举例来分别进行说明:
char str1[] = "HelloWorld"; // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符
char *str2 = "HelloWorld"; // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
#define str3 "HelloWorld"; // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
展开全部
一维和二维的都可以;
一维的情况如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0');
二维的情况如下:
1,char string3[6][30];
2,char string3[6][30]=;
此句表示有6个字符串,每个字符串的长度为30,每个字符串的初始值与“joy","phosee","monses","chandele","ross","rather"相对应;
一维的情况如下:
1,char string0[10];
2,char string1[]="prison break";
3,char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0');
二维的情况如下:
1,char string3[6][30];
2,char string3[6][30]=;
此句表示有6个字符串,每个字符串的长度为30,每个字符串的初始值与“joy","phosee","monses","chandele","ross","rather"相对应;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在c语言中定义字符串:
C语言中用字符型CHAR来表示存储字符,没有C++里面的可以单独的字符串类型String;
所以C里面使用字符数组和字符指针来实现字符串功能;
C的字符数组只能在定义时一起赋值,以后只能给单个元素一一赋值;
char string0[10];
char string1[]="prison break";
char string2[100]="michael scofield";
1句表示定义个长度为10的字符串,但未赋值,2句表示定义了一个字符数组string1,并进行初始化,使得其长度自动为13(字符串”prison break"中的字符个数加上结尾的'\0'),3句定义了一个有100个元素的字符数组string2,并初始化了17个元素("michael scofield";加上结尾的'\0')。
C语言本身是没有设置一种类型来定义字符串变量的,字符串的存储完全依赖于字符数组,但字符数组又不等于是字符串变量。在字符型一维数组存放字符串,并规定以字符'\0'作为字符串结束标志。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
C没有字符串定义,字符串是拆开放入char数组里面的。
使用字符数组来实现,不过要预留一个位置给'\0', C中的字符串以'\0'结束。
举例说明:
char s[5]="ABCD";
字符数组s最多能存储一个含有个字符的字符串(串结束符'\0'也需要占一个字节)。
char ch[21]="I am happy";
以上没有明确写'\0',编译器会默认自动加一个'\0'。
也可以通过scanf("%s",ch); (以空格为结束标志)
或gets(ch); (以回车为结束标志)
在程序运行时通过键盘输入字符串。
使用字符数组来实现,不过要预留一个位置给'\0', C中的字符串以'\0'结束。
举例说明:
char s[5]="ABCD";
字符数组s最多能存储一个含有个字符的字符串(串结束符'\0'也需要占一个字节)。
char ch[21]="I am happy";
以上没有明确写'\0',编译器会默认自动加一个'\0'。
也可以通过scanf("%s",ch); (以空格为结束标志)
或gets(ch); (以回车为结束标志)
在程序运行时通过键盘输入字符串。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询