配列を確保したときのアドレス

解決済みの質問

配列を確保したときのアドレス

レポートなんですが
例えば、 char a[4][8];
と配列を取ったときのアドレスは、メモリにもよると思うんですが
a[0][0]=aaaaa1
a[0][1]=aaaaa2



a[0][7]=aaaaa8

a[1][0]=bbbbb1


a[1][7]=bbbbb8




となっていって、ここでa[0],a[1],a[2]・・・・のアドレスは
a[0]はa[0][0]と同じで、a[1]はa[1][0]と同じなると思うんです。
それで、2次元配列a[i][j]でa[i]はどんな役割をしているかって問題にはなんと答えたらいいんでしょうか?
先頭のアドレスを表しているだけではあまりにもそっけないんでもう少しなんか書きたいのでアドバイスお願いします。

投稿日時 - 2003-02-07 03:27:07

連想キーワード:

QNo.466098

すぐに回答ほしいです

質問者が選んだベストアンサー

> となっていって、ここでa[0],a[1],a[2]・・・・のアドレスは
> a[0]はa[0][0]と同じで、a[1]はa[1][0]と同じなると思うんです。

びみょーに違います。 a[0]'の'アドレスというより、a[0]'が'アドレスを表しています。

a[0] == &a[0][0]
a[1] == &a[1][0]
...

a[x] は x行目の先頭アドレス。
だから a[x][y] は x行目の先頭からy離れた位置にある要素、つまり x行y列にある要素

となります。

投稿日時 - 2003-02-07 11:28:17

お礼

回答ありがとうございました。
お礼が遅れてしまってすいませんでした。ついでに締め切るのも…

投稿日時 - 2003-02-25 14:03:06

ANo.3

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.2

各要素の先頭、でだめでしょうか。
二次元配列についての知識はおありのようなので失礼かと思いますが、以下のように簡単に説明すると、

1年という学年がある。
その学年には6クラスある。
各クラスには30人生徒がいる。

これを配列で示すと、
1年[6クラス][30人]
となりますね。

30人ずつ集まった要素が6クラスある、ということで、各要素の先頭でいいと思いますが。

投稿日時 - 2003-02-07 03:38:59

ANo.1

a[i]のaが、a[0]のポインタであるように、
a[i][j]のa[i]が、a[i][0]のポインタですよね。
それ以上のことって、ないような気がします。(^^;
回答にならなくてすみません。

投稿日時 - 2003-02-07 03:30:59

あわせてチェックしたい
  • 2次元配列の動的確保 ...
  • 「動的確保した2次元配列のメモリ解放」を関数化したい ...
  • 2次元配列の動的確保について、アドバイス下さい ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら