본문 바로가기
Study/C++

헝가리안 표기법

by 뿡뿡대마왕 2012. 1. 3.
반응형

코드를 짤때 이 변수가 어떤변수인지 확인하기 위해서는 변수의 선언 부분으로 이동하던지 아니면 어시스트 같은걸 설치해서 보던지...
비쥬얼 어시스트 같은 프로그램이 워낙 잘되어 있어서 변수 선언이나 이런 부분에는 전혀 신경쓰지 안았는데..
음...아무래도 변수앞에 이것이 어떤걸 나타내는 변수인지는 알수 있게하는게 코드의 가독을 높이는데 훨씬 도움을 줄거 같았다...

그래서 헝가리안 표기법을 찾아서 퍼왔다~~
앞으로 코딩을 할때는 헝가리안 표기법에 따라서 작성을 할 예정...
출처: http://www.sosori.com/2009/09/%ED%97%9D%EA%B0%80%EB%A6%AC%EC%95%88-%ED%91%9C%EA%B8%B0%EB%B2%95hungarian-notation.html

Prefix

Data Type

Description

Example

b

BOOL

any boolean type

BOOL bTrue;

c

char

character type

char cLetter;

i

int

integer for index

int iCars;

n

int

number, quantity

int nNum;

l

long

long type

long lDistance;

u

unsigned

unsigned type

unsigned uPercent

f

float

floating point

float fPercent;

d

double

double floating point

double dPercent;

w

WORD

unsigned word

WORD wCnt

dw

DWORD

unsigned double word

DWORD dwLength

p

*

any pointer

int *piAddr;

pfn

*

function pointer

int (*pifnFunc1)(int x, int y);

rg, a

array

stands for range

float rgfTemp[16];

sz

*

Zero-terminated string of characters

char szText[16];

s

static

a static variable

static short ssChoice;

t

struct

a user defined type

 

e

enum

variable which takes enumerated values

 

E

enum

Enumerated type

 

g_

Global

Global Variable

String *g_psBuffer;

m_

Member

class private member variable

int m_iMember;

k

constant formal parameter

...

void vFunc(const long klGalaxies)

r

reference formal parameter

...

void vFunc(long &rlGalaxies)

prg

...

dynamically allocated array

char *prgGrades;

v

Void

 

 

x/y

...

used as size

int xWitdth, yHeight;

h

handle

handle to something

hMenu

Format
x_xXxxxxxx

0123456789

0 : 변수의 위치를 지정한다. g(전역변수), m(멤버변수), 없음(지역변수) 
1 : 0 위치에 g 나 m 을 지정한 경우 _ 을 기술한다. 
2 : 자료형의 종류를 나타낸다.

3 ~ : 변수의 의미 있는 이름을 기술하며, 3 위치는 대문자를 사용한다. 변수 이름이 너무 긴 경우 자음만을 기술한다. 예) g_nCnt

 

Example of type specific variable naming

int g_nCnt                              :정수형 글로벌 카운터 
unsigned char ucByte;            :한 바이트 데이타  
char cChar;                  :한 문자  
unsigned char rgucByte[10];   :바이트 데이타 10개  
char rgcChar[10];         :문자 데이터 10개 

 char szChar[16 +1];      :문자 16개를 저장할 수 있는 문자열 공간 
 


반응형

댓글