一维数组:
int arr[]={1,2,3}
int arr1[3]={1,2,3}
char arr2[]="abc"
char arr3[3]={'a','b','c'}
char arr4[]="abcd"
char arr2[]="abc"与char arr3[3]={'a','b','c'}内存分配的区别:
在arr2中有 a,b,c,\0 四个元素
在arr3中只有a,b,c三个元素
如以下代码:
#include<stdio.h>
int main()
{
char arr2[] = "abc";
char arr3[3] = { 'a','b','c' };
char arr4[] = "abcd";
printf("%d\n", sizeof(arr2));
printf("%d\n", sizeof(arr3));
printf("%d\n", sizeof(arr4));
return 0;
}
运行结果