一般來說,c語言的數組的初始化可以通過三種方式:
{0},在聲明時使用,如 int a[10]={0}
使用memset, memset(array,0,sizeof(array))
用for循環賦值
C語言的數組可以這樣聲明,int a[]= {1,2,3}
,即不用事先計算長度,但是通過初始化的值的數量來自動判斷其長度。
另外,對於這種聲明方式,便不能用{0}的方法,否則會被自動識別為長度為1的數組,而C語言的數組一旦聲明,長度是不能再變化的。
同時,類似於c語言中的字符串數組,c語言中並沒有直接計算其長度的函數,所以,一般采用如下的方式:
char * a[] = {"hello","world","!",NULL};
for(int i = 0; a[i]!=NULL; ++i){
...
}
在初始化的數組最后一位加上NULL,這樣,當遍歷到此位置的時候便可得知已將前面的char*元素遍歷完成。