assert.h 파일은 프로그래밍 단계에서 오류 검증 목적으로 사용되는 assert()라는 매크로 함수 단 하나만을 정의하고 있다. 단, 소스 파일에 NDEBUG가 정의되어 있는 때에는 작동하지 않는데, NDEBUG는 다음과 같이 정의한다.
#define NDEBUG
assert(expression)
assert()는 디버깅의 용도로 사용되는데 매개변수 값이 0 (즉, false)인 경우에 프로그램을 중단하고 다음과 유사한 디버깅 정보를 출력한다.
Assertion failed: num!=NULL, file ..\src\assert_test.c, line 7
#include <stdio.h>
#include <assert.h>
/* #define NDEBUG */
void printNumber( int* num) {
assert(num!=NULL); /* num이 널이면 프로그램을 중단한다. */
printf("%d\n" , *num);
}
int main() {
int i = 10;
int* m = NULL;
int* n = NULL;
m = &i;
printNumber(m);
printNumber(n);
return 0;
}
댓글
댓글 쓰기