以下代码展示数组初始化的各种情况:
#include<stdio.h>
#define SIZE 4
int main(void)
{
//一般初始化
int arr[SIZE]={1,2,3,4};
int index;
for(index=0;index<SIZE;index++)
{
arr[index]++;
printf("arr[%d]=%d\n",index,arr[index]);
}
//定义并初始化一个const数组。数组内元素不能修改
int const arr2[SIZE]={1,2,3,4};
//数组不初始化,元素的值为随机数。
int arr3[SIZE];
for(index=0;index<SIZE;index++)
{
printf("arr3[%d]=%d\n",index,arr3[index]);
}
//如果初始化数组中部分元素,其他元素则被初始化为0
int arr4[SIZE]={1,2};
for(index=0;index<SIZE;index++)
{
printf("arr4[%d]=%d\n",index,arr4[index]);
}
//指定要初始化的元素
int arr5[SIZE]={1,[2]=3,[3]=4};
for(index=0;index<SIZE;index++)
{
printf("arr5[%d]=%d\n",index,arr5[index]);
}
//数组的元素个数不固定
int arr6[]={1,2,3,4,5,6,7,8};
printf("sizeof arr6=%d,sizeof arr6[0]=%d\n",sizeof arr6,sizeof arr6[0]);
for(index=0;index<sizeof arr6/sizeof arr6[0];index++)
{
printf("arr6[%d]=%d\n",index,arr6[index]);
}
return 0;
}
程序运行结果是:
怎么样?数组的初始化方式多种多样。但要灵活运用。