IT エンジニア向けの用語の意味を解説

ホーム > PC・IT 関連用語集 > は行の用語 > ハンガリアン記法

PC・IT 関連用語集

:: glossary ::

ハンガリアン記法

読み方 ハンガリアンきほう
英語 hungarian notation

変数の名前に型などの情報を縮めて付加する方法。

「ハンガリー記法」や「ハンガリアン命名規約」と呼ばれることもあります。

マイクロソフト社のチャールズ・シモニー氏が考案。
シモニー氏の出身地がハンガリーであるところから名づけられました。

ハンガリアン記法は、基本的に「一つ以上のプリフィックス(接頭辞)」と「限定子」の2つで構成されます。

(1) プリフィックス

プリフィックスは、命名する変数の型や付加情報を表します。
変数の型を表すプリフィックスは、次のとおりです。

プリフィックス
b BOOL, boolean
by BYTE, unsigned char
c, ch char
d double
dw DWORD, unsigned long
f float
i, n int
l long
s, sh short
u unsigned
uc, uch unsigned char
ui unsigned int
ul unsigned long
us, ush unsigned short
w WORD, unsigned int

変数の付加情報を表すプリフィックスは、次のとおりです。

プリフィックス 付加情報
a 配列 array
c 個数 count
d 同じ型の変数における値の差 difference
e 配列の要素 element
f フラグ flag
g_ グローバル変数 global
h ハンドル handle
i 配列のインデックス index
m_ メンバ変数 member
p ポインタ pointer
pfn 関数へのポインタ
pointer - function
psz NULL文字で終わる文字列へのポインタ
pointer - string terminated by zero
sz NULL文字で終わる文字列
string terminated by zero

プリフィックスは小文字で記述します。
通常は、変数の型と付加情報を表すプリフィックスを組み合わせて使います。

(2) 限定子

限定子は、一つ以上の単語を使って変数の意味を表します。
それぞれの単語の先頭を大文字にして、それに続く文字を小文字で記述します。

プリフィックスと組み合わせると、次のようになります。

nLength       … 長さ
alElapsedTime … 経過時間の配列
szFileName    … ファイル名
pszFileName   … ファイル名へのポインタ
lpszFileName  … ファイル名へのロングポインタ
hMenu         … メニューのハンドル
g_szPageTitle … ページタイトル / グローバル変数
m_nWeight     … 重さ / メンバ変数

独自に記述できる限定子に加えて、標準の限定子が用意されています。

標準の限定子 意味
First 配列の最初の要素
Last 配列の最後の要素
Lim 配列の上限

なお、オブジェクト指向において、ハンガリアン記法は推奨されていません。

理由は次のとおりです。

バグの原因になることもあるため、現在ではすでに使われなくなっています。

●用例

●関連用語

C C++ NULL 文字 インデックス オブジェクト指向 関数 クラス
グローバル変数 配列 バグ ファイル 変数 ポインタ メンバ変数


ホーム > PC・IT 関連用語集 > は行の用語 > ハンガリアン記法

Copyright (C) 2005-2007 Noto Watabe. All rights reserved.
e-mail:wmh@always-pg.com