黑马程序员技术交流社区
标题:
关于char 数组初始化的问题
[打印本页]
作者:
gaoxinglei123
时间:
2014-4-26 18:49
标题:
关于char 数组初始化的问题
本帖最后由 gaoxinglei123 于 2014-4-27 21:33 编辑
int a[5] = {1,2};未赋值的元素会自动补0;
char a[5]= {'1','2'};未赋值的也自动补0?补0的话 转化为字符'\0' 。直接就等于定义了一个字符串了么?
作者:
stevenzhao1977
时间:
2014-4-26 19:15
自己动手做的实验, 在xcode 环境中,
int a[5]; char b[5]; // 没有初始化;
if (a[4]==0 && b[4]=='\0')
printf ("确实默认初始化为0");
输出结果---》 确实默认初始化为0
作者:
杨勇
时间:
2014-4-26 19:17
char a[5]={'1','2'};
变成 char a[5]={'1','2',0,0,0};
又因为char字符在内存中以对应的ASCII码的0,1形式存储,‘\0'在内存中就是0,所以这里确实相当于一个字符串,即‘1’+‘2’+‘\0’
作者:
m573555543
时间:
2014-4-26 19:21
char.jpg
(68.19 KB, 下载次数: 6)
下载附件
2014-4-26 19:20 上传
这是我在虚拟机上做的。
可以看出,没定义的会赋值0
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2