//1.指定大小的初始化int arr1[5]={0};//五个元素都为0int arr2[5]={1,2,3,4,5}//初始化了五个数字,有明确的值char arr3[5]="abcde";//结尾默认由\0结尾(a b c d e f \0)char arr4[5]={'a','b','c','d','e'}//结尾没有\0终止(a b c d e)//2.未指定大小的初始化:由初始化的内容元素决定int arr1[]={0};//只有一个元素0,所以数组的大小默认为1int arr2[]={1,2,3,4,5};//初始化内容中有5个元素,所以数组的大小为5char arr3[]="abcde";//因为结尾默认由\0结尾,所以此数组的大小为6(\0也要计入)char arr4[]={'a','b','c','d','e'};//正常打印计算时大小为5//此时没有\0结尾,字符数组用strlen计算大小时,计算到有\0时默认截止,所以此时数组计算时的大小是未知的(a b c d e ...... \0)//3.特殊情况int arr1[4]={1,2,3};//此时缺少的元素默认补上0char arr1[]={'a','b','c','0'};//此时数组的大小为4,因为0本质和\0是一样的,所以到0的时候默认停止计算长度//4.strlen情况char arr1[]={'a','b','c'};char arr2[3]={'a','b','c'};int ret =strlen(arr1)//ret = 未知(找到\0停止计算)int ret2 =strlen(arr2)//与上行结果一样,直到找到\0停止计算
一维数组的使用
遍历数组元素:
//输出数组元素个数和内容intmain(){int arr[10]={1,2,3,4,5,6};int sz =sizeof(arr)/sizeof(arr[0]);int i =0;for(i =0;i < sz; i++){printf("%d",arr[i]);}}