ポインタを理解するのに少し苦労しています。多次元配列を宣言した場合char ma[10][30]
。要素のアドレスは"ma[2][20]"
? アドレスをポインター変数に割り当てる必要がある場合は、そうではありません"p = &ma[2][20]"
。)
3 に答える
2
のアドレスは文字配列でma[2][20]
あるma[2] + 20
ためma
またはp = &(ma[2][20])
-括弧が重要であることを確認してください...
于 2013-02-11T04:03:10.110 に答える
1
多次元配列は、実際にはメモリの連続したチャンクです。この場合、配列は 10*30 = 300 バイトの文字 (バイト) のチャンクです。コンパイラは、2 つの「次元」を介してこの配列へのアクセスを処理しています。
ma[2][20] のアドレスは、'ma' + 2*30 + 20 または 'ma+80' バイトのアドレスです。「ma」は、配列を表すメモリのチャンクの開始アドレスです。
于 2013-02-11T04:05:58.357 に答える
0
静的配列では、メモリ割り当ては連続しています。次の例で詳しく説明できます int arr[2][5]= { {1,2,3,4,5}, {6,7,8,9,10}}; カウト<
于 2013-02-23T14:50:11.627 に答える