您的位置:首页 > 其它

数组易错点

2016-04-26 17:31 246 查看
int a[10] = {1}, 第一个赋值为1,其余未初始化。并不是把所有都置为1。

char* b[] ={"0,45781"};  sizeof(b) = 8,还有个‘\0’会自动计算进来。等同于char* b[] ="0,45781"; 

char* c[]={‘1’,'2'};    此写法不安全,因为sizeof(c) = 2,但尾部还有一长串未初始化为结束,常引起越界。应该加上‘\0’。所以char* c[]={‘1’,'2','\0'}

当数组定义时没有指定大小,当初始化采用列表初始化了,那么数组的大小由初始化时列表元素个数决定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: