マガジンのカバー画像

C言語

63
C言語に関するあれこれ
運営しているクリエイター

2023年2月の記事一覧

何故 ARM だと char が unsigned になるのか

何故 ARM だと char が unsigned になるのか

タイトル通りです。

signed char ではなく
unsigned char でもなく
プレーンで char 型を使ったときに
何故 ARM だと unsigned で展開されるのか

従来、C言語では、
『unsigned も signed も指定しない場合、 signed である』
というのが一般的でした。

unsigned も signed も指定しないプレーンな char を使用し

もっとみる
【C言語】char が signed とは限らなかったという話 (C言語のおおらかな仕様に右往左往する日々)

【C言語】char が signed とは限らなかったという話 (C言語のおおらかな仕様に右往左往する日々)

発端こちらの記事でご指摘頂いたことが始まりでした。

ご指摘内容は、次のコードが無限ループになっているというもの。

char c;for (c = 1; c < 0x80; ++c)

char の範囲が
-128 ~ 127
であるとするならば、それは常に
0x80 = 128
よりも小さくなります。

このため、次の条件は必ず真であり、偽になることがありません。

c < 0x80

ただ、

もっとみる
【C言語】clang と VS と Eclipse と私(まだまだ続く 関数の評価順序)

【C言語】clang と VS と Eclipse と私(まだまだ続く 関数の評価順序)

C言語の関数の評価順序について。

こちらの記事の続きです。

しつこいわ、私って(笑)。

前記事で次のように申しました。

VS、gcc は本当に第3引数から評価しているのか

そして。

(1)引数の並びを逆にするとどうなるのか
(2)引数で関数を呼び出すとどうなるのか

この(1)(2)を試してみました。

(1)引数の並びを逆にするとどうなるのかソースコード

oe1、oe2、oe3、o

もっとみる
【C言語】悠久のπ

【C言語】悠久のπ

画像をこんなにしたら、タイトルも大袈裟になってしまった。そんなに言うほどの記事でもないんだけど。

まずは、前回記事です。

こちらに円の面積を求める課題があります。

円の面積は
$${\pi r^2}$$
で求められる簡単なものですが、難しいのは小数点。

とかく、コンピューターとは小数点が不得手である(あ、不得手なのは私か?😅)。

β版のバグまず、初版には不具合がありましたのでお詫びを

もっとみる