Hungarian Notation in C
Hungarian notation is a naming convention used in programming to provide additional information about the purpose, type, or scope of a variable, function, or other identifier.
Prefix | Type | Example |
---|---|---|
b | boolean | bool bStillGoing; |
c | character | char cLetterGrade; |
str | C++ String | string strFirstName; |
si | short integer | short siChairs; |
i | integer | int iCars; |
li | long integer | long liStars; |
f | floating point | float fPercent; |
d | double-precision floating point | double dMiles; |
ld | long double-precision floating point | long double ldLightYears; |
sz | Old-Style Null Terminated String | char szName[NAME_LEN]; |
if | Input File Stream | ifstream ifNameFile; |
is | Input Stream | void fct(istream &risIn;); |
of | Output File Stream | ofstream ofNameFile; |
os | Output Stream | void fct(ostream &rosIn;); |
S | declaring a struct | struct SPoint { |
C | declaring a class | class CPerson { |
struct name or abbrev | declaring an instance of a struct | SPoint pointLeft; SPoint ptLeft; // or abbrev. (be consistent) |
class name or abbrev | declaring an instance of a class | CPerson personFound; CPerson perFound; // or abbrev. (be consistent) |
The following table contains letters that go before the above prefixes.
Pre-prefix | Type | Example |
---|---|---|
u | unsigned | unsigned short usiStudents; |
k | constant formal parameter | void fct(const long kliGalaxies) |
r | reference formal parameter | void fct(long &rliGalaxies;) |
s | static | static char scChoice; |
rg | array (stands for range) | float rgfTemp[MAX_TEMP]; |
m_ | member variable of a struct or class | char m_cLetterGrade; |
p | pointer to a single thing | char *pcGrade; |
prg | dynamically allocated array | char *prgcGrades; |
Source archive.org - https://web.mst.edu/~cpp/common/hungarian.html