K.Maebashi's BBS

ご自由に書き込んでください。雑談も可。
テスト書き込みの類はテスト用掲示板にどうぞ

[日付順表示] [日付順インデックス] [スレッド順インデックス]

新規投稿 | 開設者ホームページへ戻る | ヘルプ

[2280] C言語ポインタ完全制覇、"「式」に対するsizeof"のキモは?
投稿者:かずちゃん
2022/05/07 14:45:09

くだらない質問で申し訳ありませんが、新・標準プログラマーズライブラリ「C言語ポインタ完全制覇」(2017年12月21日初版第1刷発行)のp.188, "「式」に対するsizeof"の記述に対して質問させて下さいませ。 「2種類の使い方」"sizeof(型名)"と"sizeof 式"のキモ(使い方・形式は何が違うと言っているのか)は、 ・括弧の有無、 ・型名に対してsizeofを使うか、式に対して使うか、 のいずれなのでしょうか? このページの下の方の例で"sizeof(hoge)"と、型名でないhogeに対してsizeof()と括弧ありの用法をしているので、式に対して使う場合は括弧が必要である、という可能性は無いとは思いますが… ページのほぼ中央部で"「sizeof 式」形式にメリットがあるのは…"と書かれており、形式、と言われると、式に対して使うのかそれとも型名に対してか、というよりは、括弧の有無のことか?とも迷ってしまいまして…
[この投稿を含むスレッドを表示] [この投稿を削除]
[2283] Re:C言語ポインタ完全制覇、"「式」に対するsizeof"のキモは?
投稿者:(ぱ)こと管理人
2022/05/08 00:15:24

はじめまして。 >「2種類の使い方」"sizeof(型名)"と"sizeof 式"のキモ(使い方・形式は何が違うと言っているのか)は、 >・括弧の有無、 >・型名に対してsizeofを使うか、式に対して使うか、 >のいずれなのでしょうか? 後者です。 型名に対するsizeof … sizeof(型名) 式に対するsizeof … sizeof 式 です。 >このページの下の方の例で"sizeof(hoge)"と、型名でないhogeに対してsizeof()と >括弧ありの用法をしているので、式に対して使う場合は括弧が必要である、という >可能性は無いとは思いますが… 式に対して使う場合は括弧が必要である、ということはなく、逆に、 型名に対して使う場合は括弧が必須です。上の例、および本の中の例で 「sizeof(型名)」となっている通りです。 もちろん、式を括弧で囲んだものも式ですから、sizeof(式)という書き方は可能です。 優先順位の低い演算子を含む式なら、括弧が必須になるでしょう。「sizeof 3 + 5」は sizeof(int) + 5でintが4バイトなら9になるでしょうが、「sizeof(3 + 5)」は sizeof(8)なので4です。 その意味では、sizeof(hoge)の場合は括弧は必須ではありませんが、 私はこういう場合たいてい括弧を付けるので書いてしまっています。 >ページのほぼ中央部で"「sizeof 式」形式にメリットがあるのは…" >と書かれており、形式、と言われると、式に対して使うのかそれとも型名に対してか、 >というよりは、括弧の有無のことか?とも迷ってしまいまして… 言葉がまずかったですかね。括弧の有無のことを言いたかったわけではなくて、 あくまで「式に対して使うのかそれとも型名に対してか」のつもりでした。
[この投稿を含むスレッドを表示] [この投稿を削除]
[2286] Re:C言語ポインタ完全制覇、"「式」に対するsizeof"のキモは?
投稿者:かずちゃん
2022/05/08 11:18:49

>はじめまして。 遅まきながら、はじめまして。 私めがどういう人間であるかということは、別の投稿の方の末尾に記しました(_o_) ご回答ありがとうございます。 >>「2種類の使い方」"sizeof(型名)"と"sizeof 式"のキモ(使い方・形式は何が違うと言っているのか)は、 >>・括弧の有無、 >>・型名に対してsizeofを使うか、式に対して使うか、 >>のいずれなのでしょうか? > >後者です。 ありがとうございます。 >>ページのほぼ中央部で"「sizeof 式」形式にメリットがあるのは…" >>と書かれており、形式、と言われると、式に対して使うのかそれとも型名に対してか、 >>というよりは、括弧の有無のことか?とも迷ってしまいまして… > >言葉がまずかったですかね。括弧の有無のことを言いたかったわけではなくて、 >あくまで「式に対して使うのかそれとも型名に対してか」のつもりでした。 「形式」、とあったので、迷ってしまいました。「対象とできるものが2種類あって、一つは型名、もう一つは式である」と書かれていれば、迷う可能性も低くなったのかもしれませんが… ご著書のような種類の本にすがるのは、僕のようなトーシロ、つまり、理解があやふやなヤツが正しく理解したいがために、なので、なるべく「読むことによって迷ってしまう」表現が少ないと有り難いです。
[この投稿を含むスレッドを表示] [この投稿を削除]