C 二維陣列 取位址 複製給 二維指標

2022-02-04 06:49:36 字數 665 閱讀 9398

本來應該是個簡單的問題,但是我就不明白了,為什麼會段錯誤了。。。

#include#define uint32 unsigned intuint32 ntype1_xy[

11][2]=,,,,

,,,,

,,};

intmain()

提示aaaa.cpp: in function 'int main()':

aaaa.cpp:11:9: error: cannot convert 'unsigned int [11][2]' to 'unsigned int**'

in assignment

ntype_xy=ntype1_xy;

那我強制轉換吧:

ntype_xy=(uint32**)ntype1_xy;

可以編譯了但是在列印的時候 卻段錯誤,程式崩潰了。

最後查了下資料 以及 嘗試嘗試 ,終於 知道了 怎麼才能不強制轉換 不報錯,列印出來了:

#include#define uint32 unsigned intuint32 ntype1_xy[

11][2]=,,,,

,,,,

,,};

intmain()

如果可以反彙編,就可以知道 究竟為什麼錯了。。。懶得搞 不熟悉的東西了。。。

二維陣列與二維指標

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型別...