如题所述
第1个回答 2019-11-23
C语言中用字符型CHAR来表示存储字符,没有C++里面的可以单独的字符串类型String
所以C里面使用字符数组和字符指针来实现字符串功能
C的字符数组只能在定义时一起赋值,以后只能给单个元素一一赋值;
前面那位朋友说的
char
s="asf32gs";是不行的,你可以上机试一下,char
s是定义一个单个字符变量,不能把字符串的值赋给它,可以改为定义一个字符指针指向字符串char
*s="safdfsdf";改为数组也可char
s[]="dsfdsfsdf",数组大小可以不写,如果你直接赋值的话,编译器会根据字符串长度分配对应的空间,若给了大小,也可以赋值,这时要自己注意字符串长度不要比长度-1还大
所以C里面使用字符数组和字符指针来实现字符串功能
C的字符数组只能在定义时一起赋值,以后只能给单个元素一一赋值;
前面那位朋友说的
char
s="asf32gs";是不行的,你可以上机试一下,char
s是定义一个单个字符变量,不能把字符串的值赋给它,可以改为定义一个字符指针指向字符串char
*s="safdfsdf";改为数组也可char
s[]="dsfdsfsdf",数组大小可以不写,如果你直接赋值的话,编译器会根据字符串长度分配对应的空间,若给了大小,也可以赋值,这时要自己注意字符串长度不要比长度-1还大