java二維數(shù)組操作 c語言如何定義一個未知二維數(shù)組?
c語言如何定義一個未知二維數(shù)組?1、使用malloc函數(shù),先分區(qū)分配第一維的大小,后再再循環(huán)分配每一維的大小。2、例程,怎么分配3行4列二維數(shù)組:#includeltstdio.hgt#include
c語言如何定義一個未知二維數(shù)組?
1、使用malloc函數(shù),先分區(qū)分配第一維的大小,后再再
循環(huán)分配每一維的大小。
2、例程,怎么分配3行4列二維數(shù)組:
#includeltstdio.hgt
#includeltmalloc.hgt
intmain()
{
int**a
inti,j
a(int**)malloc(sizeof(int*)*3)//為二維數(shù)組分配3行
for(i0ilt3i){//為每列分配4個大小空間
a[i](int*)malloc(sizeof(int)*4)
}
//系統(tǒng)初始化
for(i0ilt3i){
for(j0jlt4j){
a[i][j]ij
}
}
//輸出測試
for(i0ilt3i){
for(j0jlt4j){
printf(#34%d#34,a[i][j])
}
printf(#34
#34)
}
//能量代碼開辟的空間
for(i0ilt3i){
free(a[i])
}
如何在一維數(shù)組中輸入輸出二維數(shù)組?
1.二維數(shù)組array[X][Y]必須定義X,Y,用一維數(shù)組基于的話必須定義方法ARRAY[N],NX*Y個大小的一維數(shù)組2.取值的時候,array[x][y]不對應(yīng)于ARRAY[n]。
其中nx*Yy
二維數(shù)組的五種表示方法?
第一種是普通地的二維數(shù)組的表示方法。
第二種是用一維數(shù)組來它表示二維數(shù)組,從沒顯示的元素地址更說明,二維數(shù)組和一維數(shù)組意思是的二維數(shù)組在內(nèi)存中的儲存不過是差不多的,但是不使用二維數(shù)組雖然要簡單的些,如果能用不著通過地址轉(zhuǎn)換。
第三種來表示是用指針數(shù)組。本例中的c[i]中的元素當然是地址。這種方法對各個元素大小不一樣的情況下比較適用規(guī)定。如:可以假設(shè)有若干個不等長字符串必須我們?nèi)嫣幚?如果可以使用a[i][j]結(jié)構(gòu),則j要取這些字符串長度的的最值,看來這種方法浪費掉空間。
如果沒有常規(guī)*a[i]結(jié)構(gòu),則因此a中僅保存每個字符串的首地址,而不是串本身,這不單節(jié)省用水了空間,不過增加了再對串進行操作的時間。
第四種為用對準指針的變量來它表示。別種是對準指針的指針,不能不能把普通的二維數(shù)組的首地址(如本例中的a)賦給它。(畢竟a并非指向指針的指針)。是可以把第三種中的數(shù)組指針的首地址賦給它。這種帶的相對較少。