C_提升__字符串初始化
2020-04-24
1 #include<stdio.h> 2 #include<string.h> 3 /*C语言没有字符串类型,通过字符数组模拟 4 C语言字符串,以字符 ‘\0’ ,数字0 5 */ 6 int main() 7 { 8 //不指定长度,没有0结束符 9 char buf[] = {'a','b','c'}; 10 printf("buf = %s\n",buf); //乱码 11 12 //指定长度,后面没有赋值的元素,自动补0 13 char buf1[100] = {'a','b','c'}; 14 printf("buf1 = %s\n",buf1); 15 16 //所有元素赋值为0 17 char buf2[100] = {0}; 18 19 char buf4[2] = {'1','2','3','4'};//数组越界 20 21 char buf5[50] = {'a','1','0','7'}; 22 23 char buf6[50] = {'a','1',0,'7'}; 24 25 char buf7[50] = {'a','1','\0','7'}; //数组中‘\0’与数字0等价 为结束符 26 //使用字符串初始化,常用 27 char buf8[] = "sadfsdfasd"; 28 //strlen: 测字符串长度,不包含数字0,字符‘\0’ 29 //sizeof:测数组长度,包含数字0,字符‘\0’ 30 printf("strlen = %d,sizeof(buf8) = %d\n",strlen(buf8),sizeof(buf8)); 31 32 char buf9[50] = "adsfsdf"; 33 printf("sizeof(buf9) = %d\n",sizeof(buf9)) //sizeof(buf9) = 100 34 35 36 37 38 return 0; 39 }
浙公网安备 33010602011771号