久久婷婷香蕉热狠狠综合,精品无码国产自产拍在线观看蜜,寡妇房东在做爰3,中文字幕日本人妻久久久免费,国产成人精品三上悠亚久久

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > C語言數組如何初始化

C語(yu)言(yan)數(shu)組如(ru)何(he)初始化 時間:2018-01-12  ;    來源(yuan):未(wei)知

1.一(yi)維數組的初始化

1.1 未初始化的一維數組一維數組的成員在沒有初始化時,數組成員的值都是未知的,一旦訪問到未知的值,可能導致不可預料的情況,嚴重時可以導致軟件運行異常。
下面,將沒有初始化的數組對應的值打印
1. #include <stdio.h>
2.
3. int main(int argc,char *argv[])
4. {
5. int numbers[5];
6.
7. int i = 0;
8. for(i = 0;i < 5;i++)
9. {
10. printf(" %d ",numbers[i]);
11. }
12. printf("\n");
13.
14. return 0;
15. } 

輸(shu)出結果下:

1. 1088063360 21991 1088062960 21991 1255894432

可以看出輸出的結(jie)果是隨機的,所以一般情況(kuang)數(shu)組需(xu)要給每個元素一個確(que)定的值.

1.2 全部元素(su)初始化

 一維數組的初(chu)始化就(jiu)是在(zai)定義(yi)數組時給(gei)每(mei)個元素依次賦值,一般語法如下:

1. 數(shu)組元(yuan)素類型 數(shu)組名[數(shu)組元(yuan)素個數(shu)] = {元(yuan)素值列(lie)表}

例(li)如給一個有5個整型元素進(jin)行初(chu)始化:

1. int numbers[5] = {1,2,3,4,5};

在上述初始化中,數組元素的值依次為(wei):

1. numbers[0] = 1;

2. numbers[1] = 2;

3. numbers[2] = 3;

4. numbers[3] = 4;

5. numbers[4] = 5;

如果(guo)數組(zu)的(de)全部(bu)元素初始化后(hou),則可(ke)以省略(lve)數組(zu)元素個數:

1. int numbers[] = {1,2,3,4,5};//

省(sheng)略(lve)元(yuan)素(su)個(ge)(ge)數(shu)在省(sheng)略(lve)元(yuan)素(su)個(ge)(ge)數(shu)的情況(kuang)下,如果需要計算數(shu)組元(yuan)素(su)個(ge)(ge)數(shu)可以使用下面的公式(shi)

1. 數組元素的(de)個數 = 數組總的(de)內存大(da)小 / 數組每個元素的(de)大(da)小

例如在計算 numbers 數組時(shi),可以這(zhe)樣計算: 1. sizeof(numbers) / sizeof(int)

實際在使用時如下:
1. include <stdio.h>
2.
3. int main(int argc,char *argv[])
4. {
5. int numbers[5] = {1,2,3,4,5};
6.
7. int i;
8. for (i = 0;i < sizeof(numbers)/sizeof(int);i++)
9. {
10. printf(" %d ",numbers[i]);
11. }
12. putchar('\n');
13. return 0;
14. }

輸出結果為:

1. 1 2 3 4 5

1.3 部分元素(su)初(chu)始化

在一維數組中也可(ke)以為部分元素進行(xing)初始化,使用的方式(shi)如下:

1. int numbers[5] = {1,2,3};//對部分(fen)元(yuan)素進行初始化

如果(guo)只初始(shi)化部分元(yuan)素,則剩下的(de)沒有初始(shi)化的(de)元(yuan)素的(de)值(zhi)為(wei)0

具體使用如下:
1. #include <stdio.h>
2.
3. int main(int argc,char *argv[])
4. {
5. int numbers[5] = {1,2,3};
6.
7. int i;
8. for (i = 0;i < sizeof(numbers)/sizeof(int);i++)
9. {
10. printf(" %d ",numbers[i]);
11. }
12. putchar('\n');
13. return 0;
14. } 

輸出結果如下(xia):

1. 1 2 3 0 0

1.4 指(zhi)定元(yuan)素(su)初(chu)始化

一(yi)維數(shu)組在初始化(hua)時也可以指(zhi)定(ding)為某一(yi)個或者幾個元(yuan)素進行(xing)初始化(hua),例如可以為第2個元(yuan)素和第4個元(yuan)素進行(xing)初始化(hua)

具(ju)體的語(yu)法如下(xia)

1. int numbers[5] = {[2] = 100,[4] = 200};//指定元(yuan)素初始化,numbers[2] = 100, numbers[4] = 200

具體使用如下:
1. #include <stdio.h>
2.
3. int main(int argc,char *argv[])
4. {
5. int numbers[5] = {[2] = 100,[4] = 200,};//指定第2個元素,第4個元素進行初 始化(從0開始計)
6.
7. int i;
8.
9. for (i = 0;i < 5;i++)
10. {
11. printf(" %d ",numbers[i]);
12. }
13.
14. putchar('\n');
15.
16. return 0;
17. }
18. ~ 

輸出結果如下:

1. 0 0 100 0 200

一維數組的初始化必須在定義指定元素列表,否則需要每個元素依次賦值
1. int numbers[5];
2. numbers = {1,2,3,4,5};//error :不允許,只能一個一個元素依次賦值
3.
4.
5. int i = 0;
6. for (i = 0;i < 5;i++)
7. numbers[i] = i;

2.二維(wei)數組的初始(shi)化

2.1 二維(wei)數(shu)組全元素初(chu)始化

二維數(shu)組(zu)的(de)初(chu)始(shi)化與一維數(shu)組(zu)類似,具體(ti)的(de)語法(fa)如下:

 1. int numbers[2][3] = {{1,2,3},{3,4,5}};//初始化二維數組,由兩個一維數組構成 .

具(ju)體使(shi)用如下 :

1. #include <stdio.h>
2.
3. int main(int argc,char *argv[])
4. {
5. int numbers[2][3] = {{1,2,3},{4,5,6}};
6.
7. int i,j;
8. for (i = 0;i < 2;i++)
9. {
10. for (j = 0;j < 3;j++)
11. {
12. printf(" %d ",numbers[i][j]);
13. }
14. putchar('\n');
15. }
16. return 0;
17. } 

具體(ti)輸出結果如下:

1. 1 2 3

2. 4 5 6

在(zai)全(quan)部元素初始化后,可以省略行下標(biao),但(dan)是不能(neng)省略列(lie)下標(biao).

1. int numbers[][3] = {{1,2,3},{4,5,6}};

2.2 線性初(chu)始化

由于(yu)二維數組在內存(cun)存(cun)儲(chu)(chu)(chu)時,仍(reng)然是按照線性(xing)的存(cun)儲(chu)(chu)(chu)方式,具體的存(cun)儲(chu)(chu)(chu)結構如下圖(tu):

C語言數組

在初始化時,也可以(yi)按照一(yi)維數組的方式(shi)進行初始化

1. int numbers[2][3] = {1,2,3,4,5,6};//按照一維數組的(de)方式進(jin)行存儲

具體使用方式如下:
1. #include <stdio.h>
2.
3. int main(int argc,char *argv[])
4. {
5. int numbers[2][3] = {1,2,3,4,5,6};
6.
7. int i,j;
8. for (i = 0;i < 2;i++)
9. {
10. for (j = 0;j < 3;j++)
11. {
12. printf(" %d ",numbers[i][j]);
13. }
14. putchar('\n');
15. }
16. return 0;
17. }

輸出結果如下:

1. 1 2 3

2. 4 5 6

2.3 部分元素初始化

與一(yi)維數(shu)組一(yi)樣,也可以對部(bu)分元(yuan)素進行(xing)初始化,具體方式(shi)如下:

1. int numbers[2][3] = {{1,2},{4,5}};

具體的代碼如下:
1. #include <stdio.h>
2.
3. int main(int argc,char *argv[])
4. {
5. int numbers[2][3] = {{1,2},{4,5}};
6.
7. int i,j;
8. for (i = 0;i < 2;i++)
9. {
10. for (j = 0;j < 3;j++)
11. {
12. printf(" %d ",numbers[i][j]);
13. }
14. putchar('\n');
15. }
16. return 0;
17. } 

輸出結果為:

1. markyang@ubuntu:~/Templates$ ./a.out

2. 1 2 0

3. 4 5 0

對于沒有初始化的元素,對應的會設置為0.

上一篇:AprilTags論文解讀

下一篇:數據結構有什么用

熱(re)點文章推薦(jian)
華清(qing)學(xue)員就業(ye)榜單
高薪學(xue)員經驗(yan)分享
熱點(dian)新聞推(tui)薦(jian)
前臺專線:010-82525158 企業(ye)培訓洽談(tan)專線:010-82525379 院校(xiao)合作洽(qia)談專線(xian):010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,,京公海網安備11010802025203號

回到頂部