기본 콘텐츠로 건너뛰기

assert.h


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;
}

댓글

이 블로그의 인기 게시물

연산자 우선 순위

() (괄호) [] (배열) -> (포인터멤버) . (구조체멤버) ! (부정) ~ (1의보수) ++ (증가) -- (감소) - (부호)  + (부호)  (자료형) (형변환)  * (포인터)  & (주소)  sizeof * (곱셈) / (나눗셈) % (나머지) + (덧셈) - (뺄셈) << >> (비트이동) < <= > >= (관계) == != (관계) & (비트논리곱) ^ (비트배타논리합) | ( 비트논리합 ) && (논리곱) || (논리합) ?: (조건) = (할당) += -= *= /= %= &= ^= |= <<= >>= (복합할당) , (쉼표)

float.h

float.h 파일은 부동소수값을 나타내는데 필요한 요소들의 최대, 최소값 등을 나타내는 매크로 상수들로 구성되어 있다. 부동 소수값은 부호(+, -)와 함께 다음과 같은 요소들로 구성된다. (매크로 상수의 이름으로 사용되는 부분은 대문자로 표시하였다.) MANTissa  *  RADIX EXPonent #include   <stdio.h> #include   <float.h> void   floatingPointInfo () {           printf ( "Radix: %d\n"   , FLT_RADIX);           printf ( "Precision of Mantissa: %d\n"   , FLT_MANT_DIG);           printf ( "Minimum Exponent: %d\n"   , FLT_MIN_EXP);           printf ( "Maximum Exponent: %d\n"   , FLT_MAX_EXP);           printf ( "Minimum Float: %e\n"   , FLT_MIN);           printf ( "Maximum Float: %e\n"   , FLT_MAX);           print...

주석문

주석(comment)은 프로그램의 기능이나 동작을 메모해두는 문장이다. 컴파일러는 주석의 내용을 무시한다. 여러 줄 주석 시작 기호(/*)와 끝 기호(*/)는 반드시 쌍으로 사용되어야하며, 중복해서 사용되어서는 안된다. 1 /* 2 주석 3 */ 한 줄 주석 원칙적으로, 한 줄 주석문은 C++언어에서 지원되는 형식이다. 1 // 주석