このunsigned
「型のない」型が数回使用されているのを見たことがありますが、その説明を見たことはありません。対応するsigned
タイプがあると思います。次に例を示します。
static unsigned long next = 1;
/* RAND_MAX assumed to be 32767 */
int myrand(void) {
next = next * 1103515245 + 12345;
return((unsigned)(next/65536) % 32768);
}
void mysrand(unsigned seed) {
next = seed;
}
これまでに収集したもの:
- 私のシステムではsizeof(unsigned) = 4
(32 ビットの unsigned int を示唆しています)
- 別の型を unsigned バージョンにキャストするための省略形として使用される可能性があります:
signed long int i = -42;
printf("%u\n", (unsigned)i);
これは ANSI C ですか、それとも単なるコンパイラの拡張機能ですか?