unsigned chars を使用して小さな範囲の整数を表すプログラムがあります。プログラムのいくつかの異なる部分でそれらを0にクリアする必要があることに気づきました。最近、スプリントの使用も開始しました。
unsigned char c = 0;
警告を与えます:
Variable c initialized to type int, expects unsigned char: 0
Types are incompatible.
リテラル char にはサフィックスがないため、これをどのように解決するのが最善ですか? いくつかのオプションがあると思います:
1: 警告を無視します。
2: 毎回キャスト:
unsigned char c = (unsigned char)0;
3: コードの長さを削減するために var を作成します。
unsigned char uc_0 = (unsigned char)0;
unsigned char c = uc_0;
4: 機能:
static inline unsigned char uchar(int in)
{
return (unsigned char)in;
}
unsigned char c = uchar(0);