十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
這篇文章主要講解了“c語言中的數(shù)組怎么初始化”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“c語言中的數(shù)組怎么初始化”吧!
創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站建設、成都做網(wǎng)站網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元雙柏做網(wǎng)站,已為上家服務,為雙柏各地企業(yè)和個人服務,聯(lián)系電話:18980820575
方法:1、定義數(shù)組時給所有元素賦初值,例“int a[5]={1,2,3,4,5}”;2、給一部分元素賦值,例“int a[5]={1,2}”;3、定義時不指定數(shù)組長度,直接給所有元素賦初值,例“int a[]={1,2,3,4,5}”。
本教程操作環(huán)境:windows7系統(tǒng)、c99版本、Dell G3電腦。
數(shù)組初始化
數(shù)組的初始化可以使用以下方法實現(xiàn):
1) 定義數(shù)組時給所有元素賦初值,這叫“完全初始化”。例如:
int a[5] = {1, 2, 3, 4, 5};
通過將數(shù)組元素的初值依次放在一對花括號中,如此初始化之后,a[0]=1;a[1]=2;a[2]=3;a[3]=4;a[4]=5,即從左到右依次賦給每個元素。需要注意的是,初始化時各元素間是用逗號隔開的,不是用分號。
2) 可以只給一部分元素賦值,這叫“不完全初始化”。例如:
int a[5] = {1, 2};
定義的數(shù)組 a 有 5 個元素,但花括號內(nèi)只提供兩個初值,這表示只給前面兩個元素 a[0]、a[1] 初始化,而后面三個元素都沒有被初始化。不完全初始化時,沒有被初始化的元素自動為 0。
需要注意的是,“不完全初始化”和“完全不初始化”不一樣。如果“完全不初始化”,即只定義“int a[5];”而不初始化,那么各個元素的值就不是0了,所有元素都是垃圾值。
你也不能寫成“int a[5]={};”。如果大括號中什么都不寫,那就是極其嚴重的語法錯誤。大括號中最少要寫一個數(shù)。比如“int a[5]={0};”,這時就是給數(shù)組“清零”,此時數(shù)組中每個元素都是零。此外,如果定義的數(shù)組的長度比花括號中所提供的初值的個數(shù)少,也是語法錯誤,如“a[2]={1,2,3,4,5};”。
3) 如果定義數(shù)組時就給數(shù)組中所有元素賦初值,那么就可以不指定數(shù)組的長度,因為此時元素的個數(shù)已經(jīng)確定了。編程時我們經(jīng)常都會使用這種寫法,因為方便,既不會出問題,也不用自己計算有幾個元素,系統(tǒng)會自動分配空間。例如:
int a[5] = {1, 2, 3, 4, 5};
可以寫成:
int a[] = {1, 2, 3, 4, 5};
第二種寫法的花括號中有 5 個數(shù),所以系統(tǒng)會自動定義數(shù)組 a 的長度為 5。但是要注意,只有在定義數(shù)組時就初始化才可以這樣寫。如果定義數(shù)組時不初始化,那么省略數(shù)組長度就是語法錯誤。比如:
int a[];
那么編譯時就會提示錯誤,編譯器會提示你沒有指定數(shù)組的長度。
下面給大家寫一個簡單的程序:
# includeint main(void) { int a[5] = {1, 2, 3, 4, 5}; int i; for (i=0; i<5; ++i) { printf("%d\n", a[i]); } return 0; }
輸出結果是:
1 2 3 4 5
a 表示數(shù)組的名字,[5] 表示這個數(shù)組有 5 個元素,并分別用 a[0]、a[1]、a[2]、a[3]、a[4] 表示。并分別把花括號內(nèi)的 1、2、3、4、5 賦給變量 a[0]、a[1]、a[2]、a[3]、a[4]。再次強調(diào),下標從 0 開始,即從 a[0] 開始,而不是 a[1]。
也可以用 scanf 手動從鍵盤對數(shù)組進行初始化:
# includeint main(void) { int a[5] = {0}; //數(shù)組清零初始化 int i; printf("請輸入5個數(shù):"); for (i=0; i<5; ++i) { scanf("%d", &a[i] ); } for (i=0; i<5; ++i) { printf("%d\x20", a[i]); } printf("\n"); return 0; }
輸出結果是:
請輸入5個數(shù):1 2 3 4 5 1 2 3 4 5
同使用 scanf 給字符數(shù)組輸入字符串時有所不同,輸入數(shù)字時必須用 for 循環(huán)進行輸入。而輸入字符串時無須用循環(huán),直接用 scanf 就可以了。
感謝各位的閱讀,以上就是“c語言中的數(shù)組怎么初始化”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對c語言中的數(shù)組怎么初始化這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!