亚洲精品一二区_国产黄色片网站_99久久久成人国产精品_蜜臀网_国产精品一区二区三区免费_成人av中文字幕_91精品国产欧美一区二区成人

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

C語言數(shù)組如何初始化 時間:2018-01-12      來源:未知

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

1.1 未初始化的一維數(shù)組一維數(shù)組的成員在沒有初始化時,數(shù)組成員的值都是未知的,一旦訪問到未知的值,可能導致不可預料的情況,嚴重時可以導致軟件運行異常。
下面,將沒有初始化的數(shù)組對應的值打印
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. } 

輸出結(jié)果下:

1. 1088063360 21991 1088062960 21991 1255894432

可以看出輸出的結(jié)果是隨機的,所以一般情況數(shù)組需要給每個元素一個確定的值.

1.2 全部元素初始化

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

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

例如給一個有5個整型元素進行初始化:

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

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

1. numbers[0] = 1;

2. numbers[1] = 2;

3. numbers[2] = 3;

4. numbers[3] = 4;

5. numbers[4] = 5;

如果數(shù)組的全部元素初始化后,則可以省略數(shù)組元素個數(shù):

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

省略元素個數(shù)在省略元素個數(shù)的情況下,如果需要計算數(shù)組元素個數(shù)可以使用下面的公式

1. 數(shù)組元素的個數(shù) = 數(shù)組總的內(nèi)存大小 / 數(shù)組每個元素的大小

例如在計算 numbers 數(shù)組時,可以這樣計算: 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. }

輸出結(jié)果為:

1. 1 2 3 4 5

1.3 部分元素初始化

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

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

如果只初始化部分元素,則剩下的沒有初始化的元素的值為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. } 

輸出結(jié)果如下:

1. 1 2 3 0 0

1.4 指定元素初始化

一維數(shù)組在初始化時也可以指定為某一個或者幾個元素進行初始化,例如可以為第2個元素和第4個元素進行初始化

具體的語法如下

1. int numbers[5] = {[2] = 100,[4] = 200};//指定元素初始化,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. ~ 

輸出結(jié)果如下:

1. 0 0 100 0 200

一維數(shù)組的初始化必須在定義指定元素列表,否則需要每個元素依次賦值
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.二維數(shù)組的初始化

2.1 二維數(shù)組全元素初始化

二維數(shù)組的初始化與一維數(shù)組類似,具體的語法如下:

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

具體使用如下 :

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. } 

具體輸出結(jié)果如下:

1. 1 2 3

2. 4 5 6

在全部元素初始化后,可以省略行下標,但是不能省略列下標.

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

2.2 線性初始化

由于二維數(shù)組在內(nèi)存存儲時,仍然是按照線性的存儲方式,具體的存儲結(jié)構(gòu)如下圖:

C語言數(shù)組

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

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

具體使用方式如下:
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. }

輸出結(jié)果如下:

1. 1 2 3

2. 4 5 6

2.3 部分元素初始化

與一維數(shù)組一樣,也可以對部分元素進行初始化,具體方式如下:

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. } 

輸出結(jié)果為:

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

2. 1 2 0

3. 4 5 0

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

上一篇:AprilTags論文解讀

下一篇:數(shù)據(jù)結(jié)構(gòu)有什么用

熱點文章推薦
華清學員就業(yè)榜單
高薪學員經(jīng)驗分享
熱點新聞推薦
前臺專線:010-82525158 企業(yè)培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權(quán)所有 ,京ICP備16055225號-5京公海網(wǎng)安備11010802025203號

回到頂部

主站蜘蛛池模板: 成人亚洲天堂 | 久久2017| 欧美亚洲一区二区三区在线 | 高清不卡在线 | 欧美在线一二三区 | 日韩欧美在线观看成人 | 青青在线视频免费观看 | 深夜国产成人福利在线观看女同 | 天天躁天天弄天天爱 | 欧美乱大交xxxx | 狠狠色丁香久久婷婷综 | 久久7| 国产区精品一区二区不卡中文 | 久久免费大片 | 开心网五月天 | 女女同性一区二区三区四区 | 一级片a级片| 在线观看亚洲网站 | 亚洲免费午夜视频 | 日本成aⅴ人片日本伦 | 亚洲成人免费观看 | 亚洲人xxx日本人18 | 久久精品免费观看久久 | 日韩色视 | 国产精品蜜臀 | 欧美在线视频一区 | 久本草在线中文字幕亚洲欧美 | 国产一区2区3区 | 亚洲wwww| 日日干天天干 | 欧美一级一一特黄 | 麻豆视频免费观看 | 欧美日韩亚洲区久久综合 | 久久精品成人 | 久久久噜噜噜久久中文字幕色伊伊 | 亚洲国产女人aaa毛片在线 | 欧美日韩中文在线观看 | 欧美操片在线观看 | 看看毛片 | 久久99久久精品国产99热 | 久久精品re |