C言語なら俺に聞け 163at TECHC言語なら俺に聞け 163 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト200:デフォルトの名無しさん 24/09/16 14:56:21.22 T6H9+ne50.net >>195 配列オブジェクトの先頭の要素で左辺値じゃないって書いてあるな ということは左辺値の式の中に出てくる配列は左辺値じゃなくなっちゃうということ? なんでそんな仕様になったんだろうね 201:はちみつ餃子 24/09/16 16:28:24.01 JwEVxA0h0.net >>196 C には配列の要素を指すポインタとは別に配列を指すポインタというものもある。 こんなことが出来る。 int foo[10]; int (*bar)[10] = &foo; このときの bar の型は int(*)[10] ということになるわけだが……。 型情報として長さが含まれるのはかえって邪魔だ。 大抵の配列を受け取る関数 (str系やmem系など) は配列の大きさが固定ではないから。 配列の先頭要素で配列を代表させる (それが簡単な記法にする) ほうが都合がよかったんじゃないかと思う。 配列全体をひとつの値として扱いたい場合のほうが少ないだろうという判断もそれなりに合理的じゃないかな。 いまどきの言語 (Go とか Rust とか) は範囲を表すスライスという概念を導入して解決してるけど、 C の登場時期だと 2 ワードのオブジェクトを基本型にするのってなんかヤじゃない? と思ったとしても仕方ない。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch