中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

C語言不定長數(shù)組及初始化方法

C語言不支持不定長數(shù)組,要么malloc,要么在動態(tài)的指定它的長度

成都創(chuàng)新互聯(lián)專注于企業(yè)全網(wǎng)整合營銷推廣、網(wǎng)站重做改版、婺源網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5開發(fā)、商城網(wǎng)站制作、集團公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為婺源等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

動態(tài)數(shù)組不能初始化,可使用memset

1.int* p = (int*)malloc(num);

2.int num = 5;

arr[num];

若使用arr[],則需要在后面對齊進行初始化,來指定長度,否則編譯可以通過,但是默認(rèn)只有一個單元,超過一個單元的長度,在后面程序的運行中有可能會被沖掉

int arr[] = {0};//定義了一個單元的數(shù)組,并不是不定長數(shù)組

最好不用使用arr[] = {0}來定義數(shù)組,定義數(shù)組之前應(yīng)要指定長度

int arr[256] = {0};

int a[256]={0};并不是把a的所有元素初始化為0,int a[256]={1};也不是把a所有的元素初始化為1.

數(shù)組可以用一個列值來初始化,例如

int v1[] ={1,2,3,4};
char v2[]={'a','b','c',0};

當(dāng)數(shù)組定義時沒有指定大小,當(dāng)初始化采用列表初始化了,那么數(shù)組的大小由初始化時列表元素個數(shù)決定。所以v1和v2分別為 int[4] 和char[4]類型。如果明確指定了數(shù)組大小,當(dāng)在初始化時指定的元素個數(shù)超過這個大小就會產(chǎn)生錯誤。例如:

char v3[2] ={'a','b',0}; //錯誤:太多的初始化值了
char v3[3] ={'a','b',0}; //正確

如果初始化時指定的的元素個數(shù)比數(shù)組大小少,剩下的元素都回被初始化為 0。

例如

int v5[8]={1,2,3,4};

等價于

int v5[8]={1,2,3,4,0,0,0,0};

注意沒有如下形式的數(shù)組賦值:

void f()
 {
 v4={'c','d',0}; //錯誤:不是數(shù)組賦值
}

顧名思義,集合(aggregate)就是多個事物聚集在一起,這個定義包括混合類型的集合:像struct和class等,數(shù)組就是單一類型的集合。

初始化集合往往既冗長又容易出錯,而C++中集合初始化(aggregate initialization)卻變得很方便而且很安全。當(dāng)產(chǎn)生一個集合對象時,要做的只是指定初始值就行了,然后初始化工作就由編譯器去承擔(dān)了。這種指定可以用幾種不同的風(fēng)格,它取決于正在處理的集合類型。但不管是哪種情況,指定的初值都要用大括號括起來。

比如一個內(nèi)部類型的數(shù)組可以這樣定義:

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

如果給出的初始化值多于數(shù)組元素的個數(shù),編譯器就會給出一條出錯信息。但如果給的初始化少于數(shù)據(jù)元素的個數(shù),那將會怎么樣呢?

例如:

int b[6] = {0};

這時,編譯器會把第一個初始化值賦給數(shù)組的第一個元素,然后用0賦給其余的元素。注意,如果定義了一個數(shù)組而沒有給出一列初始值時,編譯器并不會去做初始化工作。所以上面的表達式是將一個數(shù)組初始化為零的簡潔方法。

以上這篇C語言不定長數(shù)組及初始化方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。

分享題目:C語言不定長數(shù)組及初始化方法
網(wǎng)站URL:http://www.rwnh.cn/article34/jdjhse.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站收錄虛擬主機、移動網(wǎng)站建設(shè)域名注冊、網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)
保康县| 姜堰市| 黄龙县| 四会市| 繁昌县| 大竹县| 甘肃省| 新干县| 白水县| 广宗县| 贵港市| 兴隆县| 冕宁县| 青岛市| 禹州市| 灵璧县| 德化县| 阿坝| 响水县| 武川县| 宜阳县| 平山县| 沧源| 古蔺县| 华安县| 宜昌市| 麻江县| 达拉特旗| 彩票| 霸州市| 卫辉市| 定日县| 曲沃县| 烟台市| 长春市| 延长县| 安平县| 五家渠市| 离岛区| 来安县| 敦化市|