C語言中怎麼把一維陣列賦給另外一維陣列

時間 2021-08-30 09:32:05

1樓:勵光解芷容

不可以,之所以不可以是因為陣列名是個常量,它的值是陣列首元素地址,即不能將其它值付給這個常量。

可以採用迴圈的方法逐個複製,或者採用另一個同型別的指標(相對於陣列名,指標是變數)指向要複製的陣列,之後就可以採用這個指標訪問之前的那個陣列

2樓:武冰業雁菡

void

main()

;int

b[10];int

i;for(i=0;a[i]!=0;i++)b[i]=a[i];

}如果a[10]=b[10]

那麼僅僅賦了b{}陣列的第11個元素給a陣列的第十一個元素,沒法一次性全部賦給.樓下那個方法也不錯.

3樓:宿唱校流婉

這樣只是陣列b第11個元素賦值給陣列a第11個元素可以這樣

n為你要從陣列b賦值到陣列a的個數

for(i=n;i>=0;i--)

a[i]=b[i];

4樓:長映諫瑩

定義a[4]為一個4列的二維陣列後,a[2]是*(a+2),這裡a是一個指向4個整型的陣列指標;

a[2]也可以理解為&a[2][0],因為陣列a其實只定義了一行,所以&a[2][0]已經越界了,不過在c語言中越界訪問是不會報錯的,所以a[2][0]的地址比a[0][0]的地址偏移了2行,也就是8個整型,也是32個位元組。這樣理解為&a[0][0]+32也可

5樓:宣果彤春

不可以,只能挨個將b

裡面的值賦值到a裡面

inti;

for(i=0;i<(sizeof(b)/sizeof(int);i++)

不過如果你保證了a和b大小一致的話,也可以偷懶memcpy(a,

b,sizeof(b));

微控制器C語言陣列賦值求助,C語言一維陣列賦值方法

陣列只能在定義的時候整體賦值,不能在之後這樣用。所以你只能寫成 uchar frist 5 而不能寫成 uchar frist 5 frist 5 如果你真的要在之後賦值,特別是每個成員不一樣,你只能用迴圈或者手動乙個乙個賦值。或者先把所有值放在另外乙個數值然後memcpy給目標陣列。uchar 你...

在c語言中如何把陣列清空,在C語言中如何把陣列清空

一嘆 c語言貌似沒有把陣列清空的方法啊,或許你可以清除就把它賦值為0,這樣在形式上實現了清楚,不然的話只有動態申請的記憶體可以釋放。 沃英傑 int a 4 1 通過陣列遍歷,逐個賦值為0。定義迴圈變數int i for i 0 i 4 i a i 0 該程式功能為遍歷陣列a,逐個將元素賦值為0,實...

C語言中一維陣列的最長維數是多少?謝謝

的可樂 ansi c89標準中規定,乙個陣列的尺寸 下標 必須是乙個整型常量表示式以便於在編譯時計算大小,而這裡的所謂常量 或者常量表示式的運算結果 一般是指unsigned int。16位編譯器 比如turbo c 中,unsigned int為16位,因此陣列最多32767個資料。32位編譯器 ...