スレを勃てるまでもないC/C++の質問はここで 13at TECH
スレを勃てるまでもないC/C++の質問はここで 13 - 暇つぶし2ch129:107
09/12/30 20:44:54
とても有用なページを教えていただきありがとうございます。
つまり、char (*c)[5]; と宣言された変数cがあったとしたら、
そのcに対して (*c)[5] という操作をすれば char 型になるという意味なんですね。
ようやく飲み込めた気がします。

ですが、さらに疑問点が出て来ました(何度もすみません)。

1 : char (*a)[5]; // 配列のポインタ
2 : char *(b[5]); // ポインタの配列
3 : char c[5]; // 配列(のポインタ)
4 : char *d = "abcd"; // 配列のポインタ
5 : char **ea = a; // NG
6 : char **eb = b; // OK
7 : char **ec = &c; // NG
8 : char **ed = &d; // OK

また気になって上記のような実験をしてみたのですが、
予想に反して結果がぜんぜん一致しません・・・。
5、6行目に関して: char **x; という形だけを見れば
配列のポインタでもポインタの配列でもいけそうな気がしますが、
この場合は特別にポインタの配列と決められているということなのでしょうか?
7、8行目に関して:どっちも同じだと思うのですが、何か違うのでしょうか?

何度も申し訳ありませんが、ご教示よろしくおねがいします。
結局、教えていただいたページをちゃんと理解できていないかもしれませんが・・・


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