は演算子なので
sizeof
、なぜsizeof(something);
関数呼び出しのように使用できるのでしょうか?1 バイトが 8 ビットでないのはいつですか?
このコンテキストのバイトは unsigned char と同じであり、8 ビットよりも大きい場合があります
バイトが8ビットより小さい可能性はありますか?
ほとんどの演算子と同様sizeof
に、括弧を含むことができる式に適用できます。パーサーx * (b + c)
が気にする限り、それは のようなものとほとんど同じです。それほど頻繁には見られませんが、次のようなことも完全に可能です。*
(b + c)
x + (b)
標準ではCHAR_MIN
、-127 を超えてはCHAR_MAX
ならず、少なくとも 127 である必要があると指定されています。これを表すには少なくとも 8 ビットが必要なので、いいえ、char を 8 ビットより小さくすることはできません。
sizeof は演算子なので、なぜ sizof(何か) を使用できるのでしょうか。関数呼び出しのような?
まあ、+
これは「演算子」です (原文のまま!) でも、(1 + 1)
and(1) + (1)
と書くことができ((1) + 1)
ます ... 通常の括弧/グループ化です。
バイトが8ビットでないときは?
8 ビットではないプラットフォームを使用する場合。
バイトが8ビットより小さい可能性はありますか?
適合する C 実装を目指すアーキテクチャではありません。ただし、発生する可能性があります。たとえば、初期のパンチ カード マシンの一部は 6 ビット バイトを使用していました。