1樓:匿名使用者
可以採用兩種方式:
1 按元素賦值:
遍歷一維陣列,並將每個元素賦值到二維
內陣列的對應元素上容。
或者遍歷二維陣列,將每個元素賦值為一維陣列對應值上。
優點為操作靈活,可以按照需要任意賦值。
2 當一維陣列和二維陣列型別相同,而且賦值順序與一維陣列中的儲存順序完全相同時,可以用memcpy的方式,直接一次性賦值。
如一維陣列為a,二維陣列為b,基礎型別為type,需賦值元素個數為n,可以呼叫
memcpy(b,a,sizeof(type)*n);
該方法有點為操作簡單,執行效率高。
不過所需滿足的前提條件多。在滿足上述所有條件時,用memcpy的方式更為簡單。
2樓:匿名使用者
int a[200],b[10][20];
for(i=0;i<10;i++)
for(j=0;j<20;j++)
b[i][j]=a[i*10+j];
3樓:匿名使用者
void funtion(int a[200])}
4樓:匿名使用者
#include
int main()
return 0;}
c語言把一維陣列賦值給二維陣列;
5樓:匿名使用者
對於bai1維數,是用1個下標來指定數du組單元,而zhi2維陣列,則需要用行dao和列兩個下標專
來標識指定單元屬。
題目中aa是乙個2行20列的2維陣列,因此在對其某個單元賦值時,要通過行和列下標指該單元在陣列中的位置。如aa[0][0]表示第一行第一列位置的陣列單元。
6樓:勤奮的宋哥
我想說你這個不是一維陣列啊,這是要把二維陣列中的一行放到另乙個二維陣列的一行?
請問在c語言中,如何將二維陣列的值賦給一維陣列。謝謝!
7樓:匿名使用者
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!謝謝專!!屬!
8樓:匿名使用者
可以採用兩種
來方式:
1 按元素賦自
值:遍歷
bai一維陣列,並將每個元素賦值到二du維陣列的對應元zhi素上。dao
或者遍歷二維陣列,將每個元素賦值為一維陣列對應值上。
優點為操作靈活,可以按照需要任意賦值。
2 當一維陣列和二維陣列型別相同,而且賦值順序與一維陣列中的儲存順序完全相同時,可以用memcpy的方式,直接一次性賦值。
如一維陣列為a,二維陣列為b,基礎型別為type,需賦值元素個數為n,可以呼叫
memcpy(b,a,sizeof(type)*n);
該方法有點為操作簡單,執行效率高。
不過所需滿足的前提條件多。在滿足上述所有條件時,用memcpy的方式更為簡單。
c語言中能把乙個二維陣列的值賦給乙個一維陣列嗎
9樓:匿名使用者
當然可以了。抄
例如:襲
#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個一維陣列。
10樓:匿名使用者
問題不詳細
如果是把二維陣列的其中一行,賦值給乙個一維陣列,且其型別相同, 是可以的
11樓:匿名使用者
當然可以只要用迴圈結構就可以了,乙個乙個賦值
c語言如何把一維陣列存放進二維陣列中?
12樓:小豬豬考研記
滿意請採納,你的認可內是我最大的動力!
#include
int main()
else
b[i][j++]=a[n]-'0';
n++;
}for(i=0;i<3;i++)
return 0;}
13樓:匿名使用者
自己寫邏輯判斷一下再存進去……
14樓:爺已戒菸很多年
void fun(char *a)
;int i=0;
int j=0;
while(*a)
b[i][j++]=*a-'0';}}
c語言一維陣列轉二維陣列的方法是什麼?
15樓:匿名使用者
**如下:
void fun(char *a)
;int i=0;
int j=0;
while(*a)
b[i][j++]=*a-'0';}}。
c語言是一門通用計算機程式語言,應用廣泛。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。
儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平台的特性,以乙個標準規格寫出的c語言程式可在許多電腦平台上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平台。
16樓:督玉枝碧姬
實現的思路:
對二維陣列採用雙重迴圈的方式,給各個成員進行賦值,而一維陣列下標則遞增。
這樣就可以從一維陣列轉換為二維陣列了。******************************=#include
void
main(void)
;int
list[5][5];
inti,
j,k;
for(k=0,
i=0;i
<5;i+=)
for(j=0;
j<5;j+=)}
請問c語言中如何把乙個二維陣列用一維陣列表示出來?
17樓:
定義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也可
18樓:我愛你
a[2] = 3
這個是無法表示出來的哦
二維陣列是分行列的
19樓:悲傷肆虐
不懂,還是來站一下場
c語言中二維陣列在記憶體中怎樣儲存
嚴格意義上說不存在二維陣列,只是陣列裡的每個元素是乙個一維陣列,而記憶體是一段連續的空間,根據你申請乙個變數的順序按位址從低到高排,所以二維陣列不可能像乙個矩陣那樣在記憶體中排列,這就涉及到它是按行依次往下排,還是按列往下排,而在c 中是按行,既 int a 2 2 a 0 0 a 0 1 a 1 ...
關於c語言二維陣列的問題,C語言中二維陣列的定義問題
a是乙個一維陣列,陣列裡的值是指標,指向的還是一維陣列。即等價於,int x 2 2,0 int y 2 4,8 int a 2 x,y 我想你應該知道答案了。c語言中二維陣列的定義問題 正確寫法如下 char fd jgf1 maxitemlen 1 說明 把null去掉 1.二維陣列的第乙個維度...
c語言程式設計將兩個一維陣列中的數對應相加並在陣列中儲存
建立兩個陣列,分別存放多項式的係數,如x3就可以在陣列data 3 中存放1就可以了,對應項相加,就可以了 using namespace std int main int b 5 int c 5 for int i 0 i 5 i for int i 0 i 5 i cout c i const ...