大家好,今天來為大家解答數(shù)組指針的初始化這個(gè)問題的一些問題點(diǎn),包括C語言如何給字符數(shù)組初始化也一樣很多人還不知道,因此呢,今天就來為大家分析分析,現(xiàn)在讓我們一起來看看吧!如果解決了您的問題,還望您關(guān)注下本站哦,謝謝~
C語言——關(guān)于二維數(shù)組的初始化問題
1、定義二維數(shù)組的方法和一維數(shù)組相似,如:
inta[3][3];
就是定義了一個(gè)3行3列的二維數(shù)組。
2、但是我么要注意,這個(gè)3行3列的二維數(shù)組是邏輯上的概念,能形象的表示出行列關(guān)系。而在內(nèi)存中,各元素是連續(xù)存放的,不是二維的,是線性的,這點(diǎn)大家一定要清楚。
3、二維數(shù)組的初始化,可以分行給元素賦值,如步驟一的圖。
也可以將所有數(shù)據(jù)寫在一個(gè)花括號(hào)內(nèi),按照元素在內(nèi)存中的排列順序?qū)Ω髟刭x初值。但是這種方法一旦數(shù)據(jù)很多,會(huì)寫成一大片,容易遺漏,不方便檢查。
4、可以對(duì)部分元素賦值,例如:
inta[3][3]={{1},{4},{7}};
5、也可以只對(duì)某幾行賦值,例如:
inta[3][3]={{1,2},{4}};
6、如果對(duì)全部元素都賦初值,則定義數(shù)組時(shí)可以對(duì)第一維的長(zhǎng)度不指定,但第二維的長(zhǎng)度不能省去。
也可以只對(duì)部分元素賦值,而省略第一維的長(zhǎng)度,但應(yīng)該分行賦值。
C語言如何給字符數(shù)組初始化
1、直接逐個(gè)初始化字符數(shù)組:
字符數(shù)組的初始化,最容易理解的方式就是逐個(gè)字符賦給數(shù)組中各元素。
charstr[10]={'I','','a','m','',‘h’,'a','p','p','y'};
注意:如果花括號(hào)中提供的字符個(gè)數(shù)大于數(shù)組長(zhǎng)度,則按語法錯(cuò)誤處理;若小于數(shù)組長(zhǎng)度,則只將這些字符數(shù)組中前面那些元素,其余的元素自動(dòng)定為空字符(即'\0'
)。
2、用字符串常量來初始化字符數(shù)組:
在c語言中,將字符串作為字符數(shù)組來處理。因此可以使用字符串來初始化字符數(shù)組。
charstr[]={"Iamhappy"};
也可以省略花括號(hào)。
charstr[]="Iamhappy";
但是,上述這種字符數(shù)組的整體賦值只能在字符數(shù)組初始化時(shí)使用,不能用于字符數(shù)組的賦值,字符數(shù)組的賦值只能對(duì)其元素一一賦值,下面的賦值方法是錯(cuò)誤的。
charstr[];
str="Iamhappy";//錯(cuò)誤,字符數(shù)組的賦值只能按元素一一賦值
c語言數(shù)組類型如何全部初始化
C語言中,數(shù)組初始化的方式主要有三種:
1、聲明時(shí),使用{0}初始化;
2、使用memset;
3、用for循環(huán)賦值。
結(jié)構(gòu)體數(shù)組怎么初始化
structcity_t
{
charname[20];
doublepopulation;
doublehousing;
doubleave;
};
structcity_tcities[2]={{"a",1,1,1},{"b",1,1,1}};
二維數(shù)組初始化時(shí)有哪些情況
一種,按行分段對(duì)二維數(shù)組進(jìn)行初始化。
例如:inta【2】【3】={{1,2,3},{4,5,6}i
一種,按行連續(xù)二維二維數(shù)組進(jìn)行初始化。
例如:inta【2】【3】={1,2,3,4,5,6}
可以全部賦值,也可以部分賦值。
END,本文到此結(jié)束,如果可以幫助到大家,還望關(guān)注本站哦!