c语言 字符串数组的应用
2011-10-14 13:32
274 查看
1,字符数组中的特殊字符‘、'\0'的作用
char a[10] = {'i',' ','a','m',' ','c','h','i','n','a'};
char b[]="i am china";
printf("%d\n",strlen(a));
printf("%d\n",strlen(b));
printf("%s\n",a);
printf("%s\n",b);输出结果为:
20
10
i am chinai am china
i am china
为什么a的长度会变成20呢?原因是,字符串都是 以'\0'结尾的而数组a的长度为10,字符串的长度也为10,所以a数组最后一个元素下一个内存单元的值不是'\0' 而是b数组中的第一个元素,知道碰到b数组中的'\0'才结束。
注意:若以上代码 char b[]="i am china";修改为:char b[10]="i am china";那么b[11]不一定是'\0'.所以再命名的时候,应该采用省略数组大小。
char a[10] = {'i',' ','a','m',' ','c','h','i','n','a'};
char b[]="i am china";
printf("%d\n",strlen(a));
printf("%d\n",strlen(b));
printf("%s\n",a);
printf("%s\n",b);输出结果为:
20
10
i am chinai am china
i am china
为什么a的长度会变成20呢?原因是,字符串都是 以'\0'结尾的而数组a的长度为10,字符串的长度也为10,所以a数组最后一个元素下一个内存单元的值不是'\0' 而是b数组中的第一个元素,知道碰到b数组中的'\0'才结束。
注意:若以上代码 char b[]="i am china";修改为:char b[10]="i am china";那么b[11]不一定是'\0'.所以再命名的时候,应该采用省略数组大小。
相关文章推荐
- 【学习ios之路:C语言】② 二维.三维数组.字符串数组的应用
- 【学习ios之路:C语言】二维.三维数组.字符串数组的应用
- C语言--精品代码(一)--字符数组中插入字符串
- C语言字符数组和字符串
- C语言之字符串,数组
- C语言逆转字符串数组
- c语言中的数组和字符串
- C语言之基本算法30—数组的灵活应用(一个正整数的各位数字平方和)
- 黑马程序员——C语言(函数、数组、字符串、进制、内存分析)总结
- c语言字符数组与字符串的使用详解
- 整型数组处理算法(十四)不用库函数,用C语言实现将一整型数转换成字符串
- 《C语言及程序设计》实践项目——字符数组与字符串处理
- C语言-----二维字符串数组内存图解
- C语言实现用指定字符切割字符串并返回数组
- C语言中字符数组和字符串指针分析
- 关于字符串数组,字符串指针(C语言)
- C++组合应用之strtok字符串分割、数组平分算法、动态数组函数传参
- C语言中的数组和指针以及字符串
- c语言,数组和字符串
- C语言中字符数组和字符串指针分析