返回一個(gè)二維數(shù)組函數(shù) vba數(shù)組一維數(shù)組怎么賦值給二維數(shù)組?
vba數(shù)組一維數(shù)組怎么賦值給二維數(shù)組?一個(gè)維度分配給兩個(gè)維度。參考示例如下:對(duì)于(I=0 I< 10 I){for(J=0 J< Max J){scanf(%d“,&A[J])}strn
vba數(shù)組一維數(shù)組怎么賦值給二維數(shù)組?
一個(gè)維度分配給兩個(gè)維度。參考示例如下:對(duì)于(I=0 I< 10 I){for(J=0 J< Max J){scanf(%d“,&A[J])}strncpy(B[I],a,Max)//memcpy(B[I],a),有兩種方法將值賦給二維數(shù)組。第一種方法是將單元格區(qū)域加載到二維數(shù)組中。例如,arr=range(“A1:B19”)可以將單元格范圍的值加載到數(shù)組中。第二種方法是通過循環(huán)逐個(gè)加載值。例如:寫入數(shù)據(jù)并讀取到二維數(shù)組;dim x為整數(shù),y為整數(shù)dim arr(1到5,1到4)For x=1到5
C語言中,怎樣將一個(gè)一維數(shù)組中的數(shù),賦給一個(gè)二維數(shù)組?
有兩種用法:
1按元素賦值:
遍歷一維數(shù)組,并將每個(gè)元素賦給二維數(shù)組的相應(yīng)元素。
或遍歷二維數(shù)組,并將每個(gè)元素指定給一維數(shù)組的相應(yīng)值。
優(yōu)點(diǎn)是操作靈活,可根據(jù)需要任意賦值。
2當(dāng)一維數(shù)組的類型與二維數(shù)組的類型相同,賦值順序與一維數(shù)組中的存儲(chǔ)順序相同時(shí),可以使用memcpy方法一次直接賦值。
比如一維數(shù)組是a,二維數(shù)組是B,基本類型是type,要分配的元素個(gè)數(shù)是n,就可以調(diào)用
memcpy(B,a,sizeof(type)*n)
這個(gè)方法簡單有效。
但是,有許多先決條件。當(dāng)上述條件都滿足時(shí),memcpy就更簡單了。
C語言把一維數(shù)組賦值給二維數(shù)組?
在C語言中,字符串不能由賦值字符(如數(shù)字)賦值。例如:定義inta=233,B后,可以用B=a給B賦值;但Chara[20]=“ABC”,B[20]后,不能用B=a給a賦值,常用的方法是使用strcpy(B,a)函數(shù)。在您的示例中,AA[0]=P[0]在這里不起作用??紤]使用strcpy(AA[0],P[0])來完成賦值。如果你有任何問題,請(qǐng)留言。
為什么我覺得C語言中二維數(shù)組沒用,明明兩個(gè)一維數(shù)組就能解決,為什么要有二維數(shù)組存在?
從底層實(shí)現(xiàn)來看,無論是一維數(shù)組、二維數(shù)組還是多維數(shù)組,都是以一維方式排列在內(nèi)存中。用一維陣列模擬多維陣列。從這一點(diǎn)出發(fā),一維陣列可以解決多維陣列的問題。常用的模擬方法:
將二維數(shù)組a[M][n]表示為一維數(shù)組a[M*n
]用[y*nx]代替[y][x
]注意這里用一維數(shù)組代替二維數(shù)組
從代碼清晰易讀的角度來看,二維數(shù)組和多維數(shù)組是不同的有意義。有很多數(shù)據(jù)可以用二維數(shù)組或多維數(shù)組來表示。如果數(shù)據(jù)以適當(dāng)?shù)姆绞奖硎荆惴▽⒑啙嵜髁?。典型?shù)據(jù)適合二維數(shù)組表示,如平面圖形、矩陣。采用二維數(shù)組,程序清晰易讀;采用一維數(shù)組,可讀性要低得多。
與匯編語言相比,C提供了一些數(shù)據(jù)抽象,如數(shù)組、結(jié)構(gòu)和聯(lián)合。事實(shí)上,沒有這些抽象,程序仍然可以被編程。但C語言的優(yōu)點(diǎn)是具有高度的抽象性,非常適合于系統(tǒng)級(jí)程序的開發(fā)和維護(hù)。如果您認(rèn)為C語言提供的抽象級(jí)別太高,那么匯編可能更適合您的項(xiàng)目。如果您認(rèn)為C語言提供的抽象級(jí)別太低,那么有很多選擇。從C、java到各種新語言,您可以嘗試替換它們。