スレを勃てるまでもないC/C++の質問はここで 13 at TECH
[2ch|▼Menu]
137:107
09/12/31 14:03:57
>>130 >>131
お返事が遅れてしまいましたが、回答ありがとうございました。
なるほど a も &c も配列のポインタのポインタをとっても
結局は配列の一次(?)のポインタとして扱われるということなんですね。

1 : char (*a)[5];
2 : char c[5] = "abcd";
3 : a = c; // NG(以下、この行は無視してコンパイル成功したものとする)
4 : a = &c; // OK
5 : printf("a : %d , *a : %d , c : %d , &c : %d\n", a, *a, c, &c); // 全部一致する
6 : printf("a[1] : %c , (*a)[1] : %c , c[1] : %c\n", a[1], (*a)[1], c[1]); // a[1] はうまくいかない

くどいですが、実験してみたら上記のようになりました。
"[]"を単にアドレスから値を取得する演算子だと理解していたのですが、
かなり甘かったようです・・・。



次ページ
続きを表示
1を表示
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5395日前に更新/63 KB
担当:undef