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 }

 

posted on 2020-04-24 11:41  Clancey_L  阅读(442)  评论(0)    收藏  举报