在c语言中怎样定义字符串

char 'a' ; 是定义单字符的 那字符串怎么定义啊 求解
说具体点 我就是想在c语言中把一句话用一个字母表示 如果用if 去转换的话就太麻烦了

可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。


下面通过举例来分别进行说明:

char str1[] = "HelloWorld";  // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符

char *str2  = "HelloWorld";  // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址

#define str3 "HelloWorld";  // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-18
一维和二维的都可以;
一维的情况如下:
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"相对应;
第2个回答  2018-03-30

在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'作为字符串结束标志。

本回答被网友采纳
第3个回答  2015-09-10
C没有字符串定义,字符串是拆开放入char数组里面的。
使用字符数组来实现,不过要预留一个位置给'\0', C中的字符串以'\0'结束。
举例说明:
char s[5]="ABCD";
字符数组s最多能存储一个含有个字符的字符串(串结束符'\0'也需要占一个字节)。
char ch[21]="I am happy";
以上没有明确写'\0',编译器会默认自动加一个'\0'。
也可以通过scanf("%s",ch); (以空格为结束标志)
或gets(ch); (以回车为结束标志)
在程序运行时通过键盘输入字符串。
第4个回答  2019-10-20

一样的,但是要写成6,因为字符串末尾还有‘\0’,否则它装不下

相似回答