读书人

C语言字符数组初始化的简单有关问题

发布时间: 2012-03-05 11:54:02 作者: rapoo

C语言,字符数组初始化的简单问题
原来代码如下:
unsigned char str[2;
str[2]={“ab”};
修改后如下:
unsigned char str[2]={“ab”};
问题:
原来的代码调试时输出为乱麻
修改后则正常。为什么初始化必须要在定义时完成呢?而不能像int一类在定义之后不初始化?找了几本书,都没有讲到这个问题

[解决办法]
数组只能在定义的时候初始化。
unsigned char str[2];
str[2]={“ab”};
这时的str[2]是地址str+2内的值

读书人网 >C语言

热点推荐