1. ホーム
  2. c

[解決済み] uint32、int32、uint64、int64のような型はstdlibのヘッダで定義されていますか?

2022-12-15 23:05:05

質問

uint32 や uint64 のような型を使用するソースコードをよく見かけますが、これらはプログラマがアプリケーションコードで定義すべきなのでしょうか、それとも標準の lib ヘッダーで定義されているのでしょうか。

私のアプリケーションのソースコードにこれらの型を持たせるには、どのような方法があるでしょうか。

どのように解決するのですか?

C99 stdint.h はこれらを定義しています。

  • int8_t
  • int16_t
  • int32_t
  • uint8_t
  • uint16_t
  • uint32_t

そして、アーキテクチャがそれらをサポートしている場合。

  • int64_t
  • uint64_t

他にも様々な整数の型定義が stdint.h にもあります。

もしC99の環境がなくて困っているのなら、おそらくあなた自身の型定義を供給して、とにかくC99のものを使うべきです。

このような場合 uint32uint64 (つまり _t サフィックスなし)は、おそらくアプリケーション固有のものでしょう。