[解決済み】_t(アンダースコア-t)が続く型は何を表すのですか?
質問
簡単な質問のようですが、Stack Overflowの検索やGoogleで調べても出てきません。型に続いて
_t
の意味は?例えば
int_t anInt;
ハードウェアと密接に関係するC言語のコードでよく見かけるので、両者は関連していると思わざるを得ません。
どうすれば解決するの?
Douglas Mayleが指摘するように、基本的には型名を表します。 したがって、変数名や関数名の最後に '
_t
というのは、混乱を招く可能性があるからです。 と同様に
size_t
C89規格では
wchar_t
,
off_t
,
ptrdiff_t
その他、忘れてしまったものもあります。 C99規格では、次のような余分な型がたくさん定義されています。
uintptr_t
,
intmax_t
,
int8_t
,
uint_least16_t
,
uint_fast32_t
といった具合です。 これらの新しい型は、正式には
<stdint.h>
を使用することが多いのですが、ほとんどの場合
<inttypes.h>
これは、(標準的なCのヘッダーとしては珍しく、)以下のものを含んでいます。
<stdint.h>
. それは(
<inttypes.h>
) で使用するためのマクロも定義しています。
printf()
と
scanf()
.
Matt Curtisが指摘したように、サフィックスにはコンパイラにとって何の意味もなく、人間本位の慣習である。
ただし、以下の点にも注意が必要です。
POSIX
で終わる多くの余分な型名が定義されています。
_t
'、そして
というサフィックスを予約します。
を実装することができます。 つまり、POSIX関連のシステムで作業している場合、この規約で独自の型名を定義するのは得策ではありません。 私が働いているシステムは(20年以上)そうしてきました。私たちが定義しているのと同じ名前の型を定義しているシステムによって、定期的につまづくことがあります。
関連
-
[解決済み】stdinとSTDIN_FILENOの違いは何ですか?
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] オブジェクトの種類を決定しますか?
-
[解決済み] オブジェクト名の前のシングルアンダーコアとダブルアンダーコアの意味は何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】type()とisinstance()の違いは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 `S_ISREG()` とは何ですか、そして何をするのですか?
-
[解決済み] Connect: ソケット以外でのソケット操作
-
[解決済み】ポインタと整数の比較で警告が出る
-
[解決済み】エラー:'for'ループの初期宣言はC99モードでしかできない【重複
-
[解決済み】初期化がキャストなしで整数からポインタを作成 - C言語
-
[解決済み】Cygwin - Makefile-error: ターゲット `main.o' のレシピに失敗しました。
-
[解決済み】 switch case: error: case label does not reduce to an integer constant
-
[解決済み】malloc():メモリ破壊
-
[解決済み] char pointers: 'char*' から 'char' への無効な変換?
-
[解決済み】なぜか。"エラー: 配列型を持つ式への代入"