[C] Reserved Names
Reserved Names
C언어는 클래스 단위가 아니고, 전역변수나 함수들이 존재하기 때문에 엄격한 이름 규칙(Naming Convention)이 필요하다.
다음과 같은 상황을 가정해보자
1. 여러 헤더파일을 포함시킬텐데, 포함시킨 헤더파일들에서 함수명 || 매크로명 || 전역변수명이 중복 선언되었다면?
2. 포함시킨 헤더파일과 내 소스코드에서 함수명 || 매크로명 || 전역변수명이 중복되었다면?
이를 방지하기위한 규칙
1. __(Double Underscroe), A_(대문자+Underscore)는 예약된 이름으로 사용한다.
2. is || to로 시작하는 이름은 테스트를 하거나 변환하기위한 용도로 사용한다.
3. LC_로 시작하는 이름은 추가적인 로컬 매크로 정의를 위해 사용한다.
4. SIG로 시작하는 이름은 SIGNAL NAME을 위해 사용된다.
5. _t로 끝나는 이름은 추가적인 타입임을 명시하기 위해 사용된다.
각 헤더파일에 따른 접두어(참고)
- dirent.h - 'd_'
- fcntl.h - 'l_', 'F_', 'O_', 'S_'
- grp.h - 'gr_'
- limits.h - '_MAX'
- pwd.h - 'pw_'
- signal.h - 'sa_', 'SA_'
- sys/stat.h - 'st_', 'S_'
- sys/times.h - 'tms_'
- termios.h - 'c_', 'V_', 'I_', 'O_', 'TC_', 'B_'
'Programming > C C++' 카테고리의 다른 글
[C++ 문법] 'const' 위치에 따른 멤버함수의 의미 (2) | 2019.05.15 |
---|---|
[C] 네트워크 인터페이스에 관한 정보 - ioctl() (0) | 2019.02.02 |
[C] C 프로그램의 컴파일 과정 (0) | 2019.01.30 |
[C] 동적 메모리 할당 ( Dynamic Memory Allocation ) (3) | 2019.01.11 |
[C] File I/O (0) | 2019.01.10 |
댓글
이 글 공유하기
다른 글
-
[C++ 문법] 'const' 위치에 따른 멤버함수의 의미
[C++ 문법] 'const' 위치에 따른 멤버함수의 의미
2019.05.15 -
[C] 네트워크 인터페이스에 관한 정보 - ioctl()
[C] 네트워크 인터페이스에 관한 정보 - ioctl()
2019.02.02 -
[C] C 프로그램의 컴파일 과정
[C] C 프로그램의 컴파일 과정
2019.01.30 -
[C] 동적 메모리 할당 ( Dynamic Memory Allocation )
[C] 동적 메모리 할당 ( Dynamic Memory Allocation )
2019.01.11