0

CIでプログラミングを始めて以来、以下に示すように、typedefを使用して変数を宣言するときに、次の規則を使用することを誰もが知っています。

   int32_t *data_value;
   const int16_t *Order_Of_Mag;
   uint16_t min_change;
   uint8_t  eeprom_save_flag;

その理由の一部は、異なるアーキテクチャ間の移植性にあることを理解しています。いつおよび/またはどの規格がこの宣言方法を指示するかを誰かが知っていますか?

また、charがuint8_tでもint8_tでもない場合、charの使用を必要とする標準ライブラリ(stdio.h)関数を処理するための推奨される方法は何ですか(以下の関数の例を参照)

sscanf(const char *format)
int atio(const char *s)

前もって感謝します

4

1 に答える 1

1

私が知っている、そのようなtypedefを使用する必要がある唯一の標準は、プロジェクト/会社固有のコーディング規則です。これらのコーディング規約では、使用するtypedef(またはマクロ)も正確に指定されているため、UINT32代わりにuint32_t使用する必要がある場合があります。


char、、uint8_tまたはの選択に関してはint8_t、デフォルトcharで文字データ(つまり、文字列と文字)uint8_tまたはまたはint8_t少数に使用する必要があります。

于 2012-12-13T18:03:37.523 に答える