所以C里面使用字符数组和字符指针来实现字符串功能
C的字符数组只能在定义时一起赋值,以后只能给单个元素一一赋值;
前面那位朋友说的
char
s="asf32gs";是不行的,你可以上机试一下,char
s是定义一个单个字符变量,不能把字符串的值赋给它,可以改为定义一个字符指针指向字符串char
s="safdfsdf";改为数组也可char
s[]="dsfdsfsdf",数组大小可以不写,如果你直接赋值的话,编译器会根据字符串长度分配对应的空间,若给了大小,也可以赋值,这时要自己注意字符串长度不要比长度-1还大
可以通过字符数组或字符指针来定义字符串,也可以用宏定义对常量字符串进行定义。
下面通过举例来分别进行说明:
char str1[] = "HelloWorld"; // 通过字符数组来定义字符串"HelloWorld",数组中每个存储单元存放一个字符char str2 = "HelloWorld"; // 通过字符指针来定义字符串"HelloWorld",指针str2指向一个存放字符串"HelloWorld"的连续地址单元的首地址
#define str3 "HelloWorld"; // 通过宏定义来定义字符串"HelloWorld",等价于str3="HelloWorld"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)