2023年2月の記事一覧
何故 ARM だと char が unsigned になるのか
タイトル通りです。
signed char ではなく
unsigned char でもなく
プレーンで char 型を使ったときに
何故 ARM だと unsigned で展開されるのか
従来、C言語では、
『unsigned も signed も指定しない場合、 signed である』
というのが一般的でした。
unsigned も signed も指定しないプレーンな char を使用し
【C言語】char が signed とは限らなかったという話 (C言語のおおらかな仕様に右往左往する日々)
発端こちらの記事でご指摘頂いたことが始まりでした。
ご指摘内容は、次のコードが無限ループになっているというもの。
char c;for (c = 1; c < 0x80; ++c)
char の範囲が
-128 ~ 127
であるとするならば、それは常に
0x80 = 128
よりも小さくなります。
このため、次の条件は必ず真であり、偽になることがありません。
c < 0x80
ただ、
【C言語】clang と VS と Eclipse と私(まだまだ続く 関数の評価順序)
C言語の関数の評価順序について。
こちらの記事の続きです。
しつこいわ、私って(笑)。
前記事で次のように申しました。
VS、gcc は本当に第3引数から評価しているのか
そして。
(1)引数の並びを逆にするとどうなるのか
(2)引数で関数を呼び出すとどうなるのか
この(1)(2)を試してみました。
(1)引数の並びを逆にするとどうなるのかソースコード
oe1、oe2、oe3、o