c語言陣列宣告問題,C語言中定義陣列時對其全部初始化為1的問題

時間 2021-09-07 11:56:34

1樓:

有初始化的陣列定義可以省略方括號中的陣列大小。

例如,下面的**中陣列定義為5個元素:

int a=;如 char str="program"

編譯時必須知道陣列的大小。如果陣列大小要根據運**況來確定,可以使用動態陣列:

int *p=(int *)calloc(num,sizeof(int));

2樓:匿名使用者

一般有四種陣列定義方式,以一維陣列為例:

//定義指定維數的陣列

int arr[10];

//定義不指定維數的陣列,陣列維數有初化列表元素個數決定。

int arr = ;

//定義指定維數的陣列,初始化不完全時,系統將未初始化元素初始化為0int arr[10] = ;

//動態分配乙個陣列。下面分配了乙個有10個元素的陣列。

int *arr =(int *) malloc(10 * sizeof(int));

3樓:匿名使用者

你說的是該型別指標可以不指定寬度吧,動態建立的那種可以。

那是int *a;才可以吧

c語言中定義陣列時對其全部初始化為1的問題

4樓:匿名使用者

不對啦,那個是a[0]=1,其餘都是0;不用迴圈賦值的話,用容器吧:vector a(10,1);記得標頭檔案加,c++裡的。

5樓:匿名使用者

這種寫法不可以,要寫成 int a[10] = ;

你的那種只是a[0]=1;而a[1]~a[9]都是預設值哦!

6樓:匿名使用者

這樣寫不對的int a[10]=只定義了a[0]=1;其他預設為0

7樓:狂喜貓

int a[10] = ; // 注意 「 ... 」兩端有空格

int [10] = ; //若想要分段統一初始化,可以回

這樣做答。

8樓:匿名使用者

用memset()函式

9樓:匿名使用者

這寫法不對,

baic標準中這麼寫du只會初始化第1個元素,zhi後面的全是dao預設值0,gcc編譯器支

回持c語言陣列更靈活的初答始化方式:

int a[10] =

;注意別的編譯器不一定支援,包括gcc編譯c++**也不支援這種寫法,只有gcc編譯c語言支援這種方式。

c語言 陣列未知個數 怎麼宣告,C語言 陣列未知個數 怎麼宣告

風若遠去何人留 c語言在陣列個數未知的情況下,根據應用情況不同,有三種方式。1,陣列元素總數未知,但是需要儲存的內容是已知的。其實這是一種變相的已知個數,只是程式設計者不去計算總個數,把這個工作交給系統來做。這時可以通過陣列個數留空,顯式初始化陣列進行宣告。比如char s this is a te...

c語言中byte怎麼宣告,c語言中的byte和word是什麼資料型別

3全部標準c沒有這個型別,byte表示乙個位元組,對應c的unsigned char,你可以自己按下面的樣子定義乙個即可 typedef unsigned char byte 位元組 byte bait n.c 是計算機資訊技術用於計量儲存容量的一種計量單位,也表示一些計算機程式語言中的資料型別和語...

c語言關於定義二維陣列的問題,C語言中二維陣列的定義問題

焮欣 首先你要理解二維陣列的真正含義,它的第一維就是一組資料的起始位址,第二維就是某組資料中的某個值.其次,你要知道a 4 所表達的意思,是指二維陣列a的每一維都是由4個元素組成的一維陣列.而編譯器可以根據你賦給a的初值個數計算它的第一維長度 元素總個數 4,如果不能整除,則長度加1,此時還應該有幾...