728x90
전처리기 #ifndef와 #endif를 사용하게 되면
C언어에서 헤더파일이 중복으로 실행되는 경우를 방지할 수 있다.
#ifndef의 기능이 #define 되어있지 않다면 내부 내용을 실행하겠다는 전처리기이기 때문이다.
따라서
#ifndef _STACK_H__
#define _STACK_H__
내부 내용
#endif
이런 형태로 작성을 해주게되면
처음 헤더파일이 실행될때는 _STACK_H__가 정의되어있지 않기 떄문에
#define_STACK_H__가 실행되게 되며 _STACK_H__가 정의가 된다.
그렇게 내부내용이 실행되게된다.
그 다음으로 헤더파일이 중복실행될 경우에는
이미 _STACK_H__는 정의가 되어있기 때문에 #ifndef에 걸러져서
#endif 아래쪽 내용을 실행하게 되어있다.
따라서 헤더파일에서 #ifndef ~ #endif 전처리문을 항상 사용하자 ^^
728x90
'프로그래밍 > 자료구조' 카테고리의 다른 글
SHA-256 해쉬함수 (0) | 2023.11.07 |
---|---|
테이블(Table)과 해쉬(Hash) (0) | 2023.11.07 |
연결리스트의 개념적인 이해 (0) | 2023.10.30 |
C언어, 재귀함수로 하노이타워 구현하기 (0) | 2023.10.24 |
함수의 재귀적 호출 (0) | 2023.10.23 |