C语言一维数组、二维数组、结构体的初始化
C語言數組的初始化表示方法
?
一、C語言一維數組初始化:?
(1)在定義數組時對數組元素賦以初值。如:
static int a[10]={0,1,2,3,4,5,6,7,8,9};
經過上面的定義和初始化后,a[0]=0,a[1]=1,… ,a[9]=9。
?
(2)初始化時可以只對一部分元素賦初值。例如:
static int a[10]={0,1,2,3,4};
定義的數組有10個元素,但只對其中前5個元素賦了初值,后5個元素初值為0。
?
(3)將數組的元素值全部為0,可以用下面的方法:(方法一)
int a[5] = {0};? // 將整型數組a的每個元素都初始化為0
或者也可以用如下方法進行初始化:(方法二)?
int a[5] = {0, 0, 0, 0, 0}; // 初始化效果同上
不能用:?static int a[10]={0*10};
如果對static型數組不賦初值,系統會對定義的所有數組元素自動賦以0值。
?
(4)在對全部數組元素賦初值時,可以不指定數組長度。?
int a[]={0,1,2,3,4};
相當于 int a[5]={0,1,2,3,4};
?
二、C語言二維數組初始化:?
聲明時給初始值叫初始化。例如:int b[3][4]={1,2,3,4,5,6,7,8,4,4,4,4};
聲明后賦值,可以用賦值語句,
b[0][0]=1; b[0][1]=2; b[0][2]=3; b[0][3]=4;
b[1][0]=5; b[1][1]=6; b[1][2]=7; b[1][3]=8;
?
三、C語言結構體初始化:?
1.typedef定義結構體
typedef struct Student {
? ? agent age;
? ? char name[10];
} Stu;
?
2.創建結構體變量并初始化
Stu s = {18,"rose"};//可以初始化,設置age為1,s為一個字符串.
Stu s = {18};//初始化個數少于實際個數時,只初始化前面的成員。
Stu s = {.name="rose"};//有選擇的初始化成員。
?
3、結構體數組:初始化需用大括號將數組中每一個結構體括起來:
Stu s[10] = {{18,"rose"},{19,"jack"},{18,"tony"},{17,"misa"}};
也可以初始化其中的一個元素:
Stu s[10] = {[2]={19,"jack"}, [3]={18,"tony"}};
Stu s[10] = {[2].age=19, [3].name="tony"};
?
四、C語言數據類型還有共用體和鏈表,但C語言沒有字典這一說。
?
?
?
?
轉載于:https://www.cnblogs.com/stevenwuzheng/p/5641453.html
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的C语言一维数组、二维数组、结构体的初始化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TIMESTAMP 与 explicit
- 下一篇: hdoj1176【DP】