Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

_C의 일반 키워드? 1:20

<시간/>

C의 _Generic 키워드는 다양한 데이터 유형에 대한 MACRO를 정의하는 데 사용됩니다. 이 새 키워드는 C11 표준 릴리스의 C 프로그래밍 언어에 추가되었습니다. _Generic 키워드는 프로그래머가 MACRO를 보다 효율적으로 사용할 수 있도록 하는 데 사용됩니다.

이 키워드는 변수 유형에 따라 MACRO를 변환합니다. 예를 들어 보겠습니다 ,

#define dec(x) _Generic((x), long double : decl, \ default : Inc , \ float: incf )(x)

위의 구문은 모든 MACRO를 다른 메서드에 대해 일반으로 선언하는 방법입니다.

예제 코드를 살펴보겠습니다. 이 코드는 데이터 유형에 따라 값을 반환하는 MACRO를 정의합니다 -

예시

#include <stdio.h>
#define typecheck(T) _Generic( (T), char: 1, int: 2, long: 3, float: 4, default: 0)
int main(void) {
   printf( "passing a long value to the macro, result is %d \n", typecheck(2353463456356465));
   printf( "passing a float value to the macro, result is %d \n", typecheck(4.32f));
   printf( "passing a int value to the macro, result is %d \n", typecheck(324));
   printf( "passing a string value to the macro, result is %d \n", typecheck("Hello"));
   return 0;
}

출력

passing a long value to the macro, result is 3
passing a float value to the macro, result is 4
passing a int value to the macro, result is 2
passing a string value to the macro, result is 0