陣列由資料型別相同的一系列元素組成
//陣列宣告
int main()
int main()
;}
//列印每個月的天數
#include
#define months
12int main()
; int index;
for(index=
0;index<
months
;index++
)printf
("month %2d has %2d days.\n"
,index+
1,days[index]);
return0;
}
#include
int main()
; int index;
for(index=
0;index<
sizeof
(days)
/sizeof
(days[0]
);index++
)printf
("month %2d has %2d days.\n"
,index+
1,days[index]);
return0;
}
c99增加了乙個新特性:指定初始化器(designated initializer)。利用該特性可以初始化指定的陣列元素。
列如只初始化最後乙個元素:
#include
int main()
;//對於c99規定,可以在{}中使用方括號的下標指明待初始化的元素:
int arr[6]
=([5
]=22)
;//未初始化的元素都為被預設設定為0
return0;
}
示例:
#include
#define months
12int main()
; int i;
for(i=
0;i<
months
;i++
)printf
("%2d %d\n"
,i+1
,days[i]);
return0;
}
使用迴圈給陣列的元素賦值
#include
#define months
12int main()
c語言不允許把陣列作為乙個單位賦給另乙個陣列,除初始化以外也不允許使用花括號列表的形式賦值。一些錯誤的賦值:
#define size
5int main()
;//不起作用
int n=5;
int m=8;
float a1[5]
;//可以
float a2[5*
2+1]
;//可以
float a3[
sizeof
(int)+1
];//可以
float a4[-4
];//不行
float a5[
2.5]
;//不行
float a6[
(int)
2.5]
;//可以,已被強制轉換為整型常量
float a7[n]
;//c99可以
float a8[m]
;//c99可以
二維陣列的初始化
int a[
5]=,
,};
#include
int main()
,,};
int i,j;
for(i=
0;i<
2;i++
)printf
("\n");
}return0;
}
UE4 C 語言動態陣列
ue4 c 語言動態陣列 在實際的程式設計中,往往會發生這種情況,即所需的記憶體空間取決於實際輸入的資料,而無法預先確定。對於這種問題,用靜態陣列的辦法很難解決。為了解決上述問題,c語言提供了一些記憶體管理函式,這些記憶體管理函式結合指標可以按需要動態地分配記憶體空間,來構建動態陣列,也可把不再使用...
C語言知識點4 陣列
1 同一陣列中,資料的資料型別必須相同。2 定義 型別說明符 陣列名 整型常量表示式 例 int a 4 3 陣列 array 也是一種資料型別,屬於構造資料型別,也稱作 匯出型別 其他基本資料型別有 int float double char。4 陣列名代表陣列在記憶體中的首位址,是乙個位址常量 ...
C語言基礎 C語言結構體 4 結構體陣列
上一節,我們講解了一下結構體的定義方式,作用域,以及注意事項,這次我們來講解結構體陣列.有些人疑問,結構體也有陣列啊?這是肯定的,其實結構體陣列非常常用,下面我們來看乙個需求示意圖 按照上圖所示,如果我們要求這樣子輸出,我們就要有幾個不同型別的陣列才能完成,但如果有了結構體,我們就可以非常簡單的完成...