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'}
当数组定义时没有指定大小,当初始化采用列表初始化了,那么数组的大小由初始化时列表元素个数决定。