21
// b[2][10]
22int
**b=
(int**
)malloc(2
*sizeof
(int*)
);23int
*data =
(int*)
malloc(2
*10*sizeof
(int))
;24for(
int i=
0;i<
20;i++
)25 data[i]
= i;
26// 將資料複製到二維的指標變數中,是資料賦值嗎?還是位址哦?我的觀點會在最後給出。
27for
(int i=
0;i<
2;i++
)28 b[i]=10
*i + data;
之後,二維指標變數b,就可以用b的二維陣列訪問形式來訪問你想要的那個元素了。
30
for(
int i=
0;i<
2;i++
)34 cout << endl;
35}
在gpu中開闢及拷貝記憶體
36
cudamalloc((
void**
)(&dev_b)
, rows*
sizeof
(int*)
);37cudamalloc((
void**
)(&dev_data)
, rows*cols*
sizeof
(int))
;38cudamemcpy((
void*)
(dev_b),(
void*)
(b),2*
sizeof
(int*)
, cudamemcpyhosttodevice)
;
現在核中就可以用二維陣列的方式對指標進行訪問
__global__ void
kernelfun
(int
**dev_b)
//我們就作個自增1的事情吧
}
二維陣列與二維指標
1.二維陣列的儲存是線性的,可以通過一維指標的方式訪問。如一下 int map 5 5 int mapd map 0 0 則 map i j mapd i 5 j 而利用二維陣列線性儲存的特性,可以將二維陣列當作一維指標方便的在函式之間傳遞 如 將乙個二維陣列賦值給乙個動態二維陣列,引數設定為一維指...
二維指標和二維陣列
二維指標和二維陣列有三種形式 1,type ptr 2,type ptr或者type prt 3,type prt 三種形式意思相近,也有區別。首先三種形式都能表示二維的資料結構。1,type ptr 表示乙個指向指標的指標 但是在一開始宣告的時候 type ptr ptr到底指向幾個指標是不知道的...
二維陣列與二維指標
一.指標與二維陣列 以martix 3 4 為例 1.二維陣列的本質 int martix 3 4 int martix 3 4 int 4 martix 3 令int 4 為type,type martix 3 為含有三個元素的陣列,每乙個元素型別為int 4 int 4 是乙個擁有4個int型別...