請問在C語言中,如何將二維陣列的值賦給一維陣列。謝謝

2021-03-03 21:41:39 字數 1605 閱讀 8314

1樓:匿名使用者

int i,j,a[3][4],b[12];

int n=0;

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

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

就baiok了!

給點du辛苦分

zhi吧dao!謝謝專!!屬!

2樓:匿名使用者

可以採用兩種

來方式:

1 按元素賦自

值:遍歷

bai一維陣列,並將每個元素賦值到二du維陣列的對應元zhi素上。dao

或者遍歷二維陣列,將每個元素賦值為一維陣列對應值上。

優點為操作靈活,可以按照需要任意賦值。

2 當一維陣列和二維陣列型別相同,而且賦值順序與一維陣列中的儲存順序完全相同時,可以用memcpy的方式,直接一次性賦值。

如一維陣列為a,二維陣列為b,基礎型別為type,需賦值元素個數為n,可以呼叫

memcpy(b,a,sizeof(type)*n);

該方法有點為操作簡單,執行效率高。

不過所需滿足的前提條件多。在滿足上述所有條件時,用memcpy的方式更為簡單。

c語言中能把一個二維陣列的值賦給一個一維陣列嗎

3樓:匿名使用者

當然可以了。抄

例如:襲

#include

void main()

,b[4];

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

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

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

printf("%d ",b[k]);

}執行bai結果:

就是將一個du2×2的二維陣列的值zhi按順序賦給一dao個一維陣列。

4樓:匿名使用者

問題不詳細

如果是把二維陣列的其中一行,賦值給一個一維陣列,且其型別相同, 是可以的

5樓:匿名使用者

當然可以只要用迴圈結構就可以了,一個一個賦值

請問,c語言中如何取二維陣列某一列,並轉化為一維陣列?越簡單越好,謝謝!!

6樓:

迴圈賦值:

#define m 5

#define n 6

float x2[m][n]; //m 行 n 列float x1[m]; // 存取來的某內列int i,l;

l = 2; // 取某容列

for (i=0;i

7樓:匿名使用者

a[3][2]=

b[3]

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

b[i]=a[i][2];

賦值後b[3]=

8樓:匿名使用者

#include

void main()

;int b[3],i;

scanf("%d",&l);//輸入

抄要襲取的列號

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

b[i]=a[i][l];}

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

正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第一個維度預設是 舉個例子 int tar 2 因為大括號中有4個元素,而且第二個維度是2,所以就可以計算出來第一維度是2.所以是可以預設的。2.你的這個例子中,第一維預設的應該是 7 8 1 ma...

c語言中的二維陣列a可以表述為a

這個表述是有問題的,a 1 j 沒有規定首地址,a 1 已經表示a 1地址中的資料了,明顯與陣列概念不合。a a j 裡面陣列名稱和一個維度的陣列的個數表示重疊了,所以我換一種方式來表示 a y x 為了便於理解,假定y 3,x 2。在陣列中的資料有y行,x列 也就是3行,2列。假定第一行資料為 第...

c語言二維陣列

因為你的s是一個二維陣列。如果你的s是一維陣列,像s 20 這樣,那麼在gets時不需要加 0 你定義的s是個二維陣列,並且是char型別,所以每一行存放一個字串。s n 代表第n 1行,而gets時的引數需要是一個字串指標,或者字串陣列名,所以這裡必須要寫作gets s n 其中0 n 20 我明...