0からの、超初心者C++相談室at TECH0からの、超初心者C++相談室 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト100:デフォルトの名無しさん 20/05/08 22:21:29 /+tKw0XQ.net student[0] と *student は同じ 101:デフォルトの名無しさん 20/05/08 23:07:29 +i26a8kQ.net 何で同じなのでしょうか?これで動くからこういうもの。という理解で大丈夫なんでしょうか 102:デフォルトの名無しさん 20/05/08 23:48:12 xx+9oYGy.net MSの陰謀。 103:デフォルトの名無しさん 20/05/09 06:15:34 LKKpAq9a.net とりあえず stundent は誤りで正しくは student だとして 多くの場合、配列名は「配列の先頭要素を指すポインタ」と解釈される、から。 つまり配列studentについて student == &student[0] が成り立つ。 *演算子を作用させて *student == *&student[0] == student[0] よって sizeof *student == sizeof student[0] ここで注意すべき点は「配列名がsizeof演算子のオペランドになった場合は 配列の先頭要素を指すポインタとは解釈されない」ってこと。 sizeof 配列名 == 配列全体が占有するメモリ容量 なぜそうなっているか、という理由は「そう決めると便利だから」かな。 Cの頃からそういう感じでプログラム書いてたから、という歴史的経緯もある。 >>102 初心者をからかっちゃアカンよ。信じちゃうかも知れん。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch