-
知识点
{}适用于数字和字符类型的数组,“”只适用于字符数组。使用{}定义数字数组,数组大小大于提供元素数量时,其余元素会为0,若定义字符数组,会直接以\0结尾,若为指针型数组,则其余初始化为NULL,即空指针;使用“”定义字符数组,会在最后添加\0,所以会增加一个元素。定义字符数组时,当数组大小小于等于提供元素数量时,无法正常读取字符串的结束标志('\0'),导致字符串的长度和内容不能得知。
-
示例
1.使用“”初始化数字数组
int arr[5] = "0";
array of inappropriate type initialized from string constant,这个错误消息意味着你尝试用一个字符串常量去初始化一个不适当的数组类型
2. 字符数组的大小和字符串字符个数一致时
char arr[5] = "abcde";
结尾没有\0 ,所以会一直向后读,直至遇到\0