C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[6]: 多重配列の異なるdimの値?


(過去ログ 144 を表示中)

[トピック内 7 記事 (1 - 7 表示)]  << 0 >>

■84379 / inTopicNo.1)  多重配列の異なるdimの値?
  
□投稿者/ 少し若い (1回)-(2017/06/24(Sat) 11:31:10)

分類:[C/C++] 


例えば、
int v[10][100];
の場合、

&v[5]の値は5番のエレメントのアドレスですね。
じゃー、v[5]の値は何でしょうか。

宜しくお願いします。

引用返信 編集キー/
■84382 / inTopicNo.2)  Re[1]: 多重配列の異なるdimの値?
□投稿者/ 774RR (532回)-(2017/06/24(Sat) 23:28:33)
5番目のエレメントというのが実際に何であるのかを理解していればそういう質問は出ないと思うが
v[5] が何であるのか、今この場でオイラが解説するのは簡単だけど、ちょっとは自分で考えてみた?

引用返信 編集キー/
■84384 / inTopicNo.3)  Re[2]: 多重配列の異なるdimの値?
□投稿者/ もしかして (3回)-(2017/06/25(Sun) 11:20:56)

> 5番目のエレメントというのが実際に何であるのかを理解していればそういう質問は出ないと思うが

おっしゃる通りです、v[5][0]なら意味は分かりますけど、
v[5]に関して、その存在自体の意味が分からないのです。

v[.][.]は単に一連のデータ領域です。
どのエレメントもvタイプの数値そのものです。
なので、v[.]は何でしょうかーーーー
仮令 v[.]には数値があっても意味不明です(自分にとって)。

概念的にご教授お願いします。

引用返信 編集キー/
■84386 / inTopicNo.4)  Re[3]: 多重配列の異なるdimの値?
□投稿者/ 774RR (534回)-(2017/06/25(Sun) 21:10:59)
C/C++ の「多次元配列」は「固定長配列の配列」であって、他言語でいうところのジャグ配列は無かったりする。

typedef int int100_type[100]; // の意味わかる?
int100_type v[10]; // 最初の提示ソースの v はこういうこと

v は要素数 10 の配列である。
ではその要素1個は何か、というと int [100] である。
v[0] も v[5] も「配列 v 」の1つの要素、その1つは int 100個の配列。ってことだ。
だから更に配列の要素1つを指定することができて v[5][10] のような書き方ができる。

int100_type* p=&v[5]; // というのは全く正しい

p は int[100] を指すので p と p+1 がどうなるかを考えてみると吉。

printf("%p\n", p);
printf("%p\n", p+1);
// int が 32bit の場合 400 (16進数表記なら 0x190) ずれた値になる
printf("%u\n", sizeof (v[5])); // がいくつになるかを、実行前に推理してみるべし
// C99 以後なら "%zu" のほうが適切


引用返信 編集キー/
■84392 / inTopicNo.5)  Re[4]: 多重配列の異なるdimの値?
□投稿者/ もしかして (5回)-(2017/06/26(Mon) 22:03:51)
774RR さん

素晴らしい先生としか表現できないですね。
知識だけでなく、教え方も実に鋭く、スマート。


> printf("%u\n", sizeof (v[5])); // がいくつになるかを、実行前に推理してみるべし

我が推理:
sizeof (v[5]) = sizeof(int[100]) = 100*sizeof(int)

いかがでしょうか。

=========
質問を書いた時に少し若かったが、
774RR さんの解説を勉強させていただいたら、年を取った感じ。。。





解決済み
引用返信 編集キー/
■84393 / inTopicNo.6)  Re[5]: 多重配列の異なるdimの値?
□投稿者/ 774RR (535回)-(2017/06/27(Tue) 09:38:40)
正解!

ってなわけでこんな質疑応答?を紹介してみるテスト
http://kmaebashi.com/bbs/list.php?boardid=kmaebashibbs&thread=766

解決済み
引用返信 編集キー/
■84423 / inTopicNo.7)  Re[6]: 多重配列の異なるdimの値?
□投稿者/ 少し若い (2回)-(2017/06/30(Fri) 18:25:35)
774RR さん

ほんとうにありがとうございました!

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -