c語言如何給大陣列賦初值c語言如何給一個大陣列賦初值?

2021-03-07 02:24:35 字數 6820 閱讀 1367

1樓:匿名使用者

有3種方法。

1.將資料儲存到檔案中,再

直接從檔案讀取。

2.因為是二維字元陣列,可以直接用字串賦值,如:

char strs[2][11]=;3.

將所有資料定義成巨集,再賦值,如:

#define data , \ \}

char str[2][11]=data;

2樓:聽不清啊

應該是:

char m_instruments[129][11]=;

或:char m_instruments[129][11]=;

3樓:陽光的雷咩咩

這資料量不算大吧,

有什麼理由要這樣寫嗎,為什麼不讀檔案呢

4樓:日名字全被註冊

才1k多有多大。。按標準的語法來就行了。1m的資料都不會報錯的。最多提示你這種該使用堆記憶體來儲存。至於其它方式,也不過是自己寫parse,讀檔案之類的。

看到這個問題的題目,我還以為是要32位程式處理4gb以上的資料 。結果如此低階。。。

5樓:會發射的光束

char m_instruments[129][11];

memset(m_instruments,null,sizeof(m_instruments));

c語言裡怎麼給一維陣列賦相同初值?

6樓:匿名使用者

int a[1000];

memset(a,-1,sizeof(int)*1000);注意按位元組賦值 -1的補碼=11111111

想賦值1就行不通了 1的補碼=00000001標頭檔案是string.h

c++裡面的fill 可以賦值任何數 fill(a,a+1000,1); fill(a,a+1000,-1); 標頭檔案iostream

7樓:匿名使用者

雖然你說除了迴圈,但真的想說迴圈麻煩嗎?-。-

8樓:匿名使用者

不行吧,用迴圈也不麻煩啊

9樓:

#include

memset(a,-1,sizeof(a));

a是陣列名

c語言中怎麼給陣列賦初值

10樓:匿名使用者

int a[5]=;

char b="abcdefg";

陣列定義時可以直接賦值初始化。

如果在定義之後,要麼通過迴圈語句一個一個賦值,要麼使用記憶體操作函式統一初始化。

11樓:雲散天濁

陣列賦值可以通過以下幾種方法:

1、定義的時候直接賦初值(用{});

2、用迴圈語句依次給陣列各元素賦值;

3、將陣列放在一個結構體裡面,通過結構體的引用給陣列整體賦值;(陣列本身不能直接整體賦值)

12樓:匿名使用者

可以使用迴圈語句,也可以使用memset()函式

13樓:俎州鮮于哲瀚

陣列賦值可以通過以下幾種方法:

1、定義的時候直接賦初值(用{});

例如:int array=

2、定義後再給陣列各元素賦值;

例如:int array[3];

for(int i=0;i<3;i++)

array[i]=i;

c語言中如何給陣列定義並賦初值?

14樓:我是果瘋

字串陣列定義

賦值:char c[6]=

整數陣列定義賦值:

int a[5]=;

int a[5];

for(int i=0;i<5;i++)

a[i]=i;

定義float陣列並賦值:

float b[10]=

15樓:匿名使用者

陣列賦值可以通過以下幾種方法:

1、定義的時候直接賦初值(用{});

例如:int array=

2、定義後再給陣列各元素賦值;

例如:int array[3];

for(int i=0;i<3;i++)

array[i]=i;

16樓:匿名使用者

int a[5]=;

型別名 陣列名[陣列長度] =;

17樓:人生2一首斷章

定義的時候直接賦值就好了例如char a[ ]=

18樓:匿名使用者

int aa;

【c語言】如何給一堆 陣列 整體賦值 ?

19樓:匿名使用者

你只須給至少一個賦0值就行了。如

int a[1000]=;

或int a[1000]=;

因為如果有至少一個賦值的話,編譯器就會給那些沒有給定值的預設初始值。

20樓:匿名使用者

int a= 全是0 我用gcc可以 int a={} (前面有人說tc不行,我不知道) 如果要賦其他值我就知道用迴圈

21樓:匿名使用者

用for迴圈把個個元素賦值,不過

c語言一維陣列賦值方法

22樓:匿名使用者

不單能用for語句

一維陣列的宣告:

型別說明符 陣列名[常量表示式內]

例如 int c[10],它表明陣列名為容c,此陣列有十個整型變數。

注:常量表示式中可以包括常量和符號常量,不可以包括變數。也就是說,c不允許對陣列的大小做動態定義,即陣列的大小不依賴於程式執行過程中變數的值。

一維陣列的引用:

c語言規定只能逐個引用陣列元素而不能一次引用整個陣列。

陣列元素的表現形式為:陣列名[下標] 下標可以是整型常量或整型表示式。例如  c[0]=c[5]+c[7]-c[3*2]

一維陣列的初始化:

可以用賦值語句或輸入語句使陣列中的元素得到值,但這樣會影響速度。可以使陣列在執行之前初始化,即在編譯階段使之得到初值。在定義陣列時對陣列元素賦以初值。static int a[5]=

23樓:文化廚子

62616964757a686964616fe58685e5aeb9313333373866621、初始化時進行賦值。

int a[2] = ;

char str[20] = "hello world";

2、逐個賦值

int a[4];

a[0] = 1,a[1]=2, a[2] = 3, a[4]=4;

等同於。

for (int inx=0; inx!=4; ++inx) a[inx]=inx+1;

3、通過函式複製資料以實現賦值

比如下面的**,通過memcpy函式來實現資料的複製,以實現陣列賦值的功能。

#include

#include

#include

int main()

;int b[5];

//複製4個元素,b[4]將是隨機值

memcpy(b, a, 4 * sizeof(int));

for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);

printf("\n");

memcpy(b, a+4, 5 * sizeof(int));

for (inx=0; inx!=5; ++inx) printf("%d\t", b[inx]);

printf("\n");

return 0;}

24樓:飛貓是我

int i,a[10];

for(i=0;i<10;i++)

cin>>a[i];

這樣可以用鍵盤賦值。輸入時可以以空格或回車作為分隔符

25樓:鄞家端木文心

main()

即可j=3;

//賦值但應該在開頭定義j的型別,否則會報錯a[j]=b;

printf("%d",a[j]);}

結果估計內是

0要麼就出容錯

這段程式有問題

26樓:風了瘋了鋒了

我覺得用for來賦值是最為節省空間

所以推薦,呵呵

27樓:

int i,a[10];

for (i=10;i~=0;i--)

a[i]=i;

c語言如何定義一個一維陣列並給陣列賦值?

28樓:匿名使用者

例如 int a[10]=;

//列印該陣列

for(int i = 0;i=0;i--)printf(a[i])

//求陣列中的最大值

int max=0;

for(int i=0;i個陣列的平均值

int sub=0;

for(int i=0;i上是純手打 有段時間沒接觸c了 可能關於部分方法使用用點錯 只做借鑑 希望可以幫助到您

在c語言如何在定義陣列時給陣列賦值?

29樓:匿名使用者

c語言在定義陣列時,可以給陣列賦與初始值。

寫法是在變數名後面加上等號,以及用大括號括起來的若干個初始化資料。

如下:int a[3] = ;

30樓:匿名使用者

第一種 定義並初始化

int u[3][3] = ,,};

第二種 從鍵盤手動輸入

int i,j;

for(i=0; i<3; i++)}

31樓:逝水南城

int i, j;

for(i = 0; i < 3; i++)for(j = 0; j < 3; j++)u[i][j] = a; //a就是你想要給陣列的每個變數賦的值,每個a可能都不一樣,取決於具體應用

32樓:小樓之外

for(k=0;k<9;k++)

這個可以輸入賦值

main()

; \*未賦值的系統認為0*\

或者 intu[3][3]=;……}

這種方法賦初值

33樓:匿名使用者

int u[3][3]=,,};

34樓:匿名使用者

2l正解,最簡單的方法

35樓:暢季暴天

c語言規定:陣列只能夠用常量初始化。所以你用變數初始化是非法的

變數也是不可以用變數初始化的。你的例句v[0]=x;v[1]=y+1

這裡已經算是賦值了不,你要是用intx=

y+1還是和陣列一樣初始化不了的

c語言中陣列能不能先定義,然後直接賦給初值。

36樓:匿名使用者

你這個寫法存在兩個問題。

陣列a沒有a[2][3]這個單元!

行號是0,1,列號是0,1,2。

int a[2][3]和a[2][3]是完全不同的概念!

前者是定義陣列。在定義時賦值,相當於為整個陣列或部分陣列進行初始化。比如這裡int a[2][3]=,};相當於給整個陣列賦了值。

後者是陣列的一個單元。在定義之後賦值,只能一個一個的進行。這裡可以用一個迴圈結構逐個賦值:

int i,j,k=1;

for(i=0;i<2;i++)

for(j=0;j<3;j++)

a[i][j]=k++;

37樓:天空天空天空空

int a[2][3];這句是表示建立一個二維陣列a[2][3]=,};表示將陣列a的[2,3]這個單元定義為,};但是這怎麼可能,一個單元就一個數,你還賦予他一個陣列。。。

要麼你直接寫在一起,int a[2][3]=,};

要麼你就依次把a的所有單元全部定義一次,例如a[0][0]=1;...

38樓:匿名使用者

int a[2][3]這一句是定義了一個叫a的二維陣列

之後的a[2][3]表示下標為[2][3]的值,要是可以這樣賦值的話,編譯器就不知道是值還是賦值了,所以{}賦值只能在定義的時候做初始化

39樓:淚滿殤

是可以的,可以直接寫在一起,或者依次把定義再依次賦值。

c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

二十世紀八十年代,為了避免各開發廠商用的c語言語法產生差異,由美國國家標準局為c語言訂定了一套完整的國際標準語法,稱為ansi c,作為c語言最初的標準。

40樓:匿名使用者

完全不對,不可以這麼寫。只能定義的時候給復初值!!

41樓:匿名使用者

定義和賦初值不要分步

問題補充:#include

void main()

,};printf("\n");}

c語言 如何輸出最大陣列下標,C語言 如何輸出最大陣列下標

搞個變數記錄下來呀 如int i,index,a 10 index 0 for i 0 i 9 i 每當遇到更大的數就儲存下標 用冒泡法求最大最小值的同時,記錄下i,ji和j就是下標。你迴圈遍歷時,迴圈變數的值就是下標 c語言中陣列下標最大為多少 額 沒有那麼多的吧記憶體吧 比如說int a 5 他...

求具體舉例說明C語言陣列的初始化和賦初值有何不同

你的書上好像錯了,所謂賦初值一般而言就是初始化啊從根本上說,其實初始化也並不是編譯階段完成,對於全域性變數 陣列 而言,一種是exe檔案中設定該程式的資料區中的為這個陣列存放空間中的值已經是初值了,當然這個值倒是編譯程式生成目標程式時設定的,程式執行載入時,給定空間中的內容直接拷貝到空間了,這個不佔...

c語言中定義變數不賦初值預設是多少

沒有加static,預設為auto 型,此時,不給初值,變數的初值是隨機的。如果加了static不給初值,變數的初值是預設的 0。其實不能說不賦初值就不行,對於區域性變數,不賦初值的話,其實他裡面存的是一個隨機的值,誰也不知道他是多少,因此如果沒賦初值的情況下就使用它,程式是完全不可控的,如你的圖1...