몽상실현개발주의

[따배씨] 16.10 _Generic 표현식 본문

Language/C

[따배씨] 16.10 _Generic 표현식

migrationArc 2021. 9. 7. 14:56

[따배씨] 16.10 _Generic 표현식

따배씨 - 따라하며 배우는 C언어

16강 전처리기와 라이브러리

16.10 _Generic 표현식

 

#include <stdio.h>

/*
    Generic selection expression
    - Generic programing : code is not specific to a particular type
    
    _Generic : C11 keyword
 */

#define MYPYPE(X) _Generic((X), \
    int : "int", \
    float: "float", \
    double : "double", \
    default: "other" \
)

int main()
{
    int d = 5;
    
    printf("%s\n", MYPYPE(d));
    // int
    printf("%s\n", MYPYPE(2.0 * d));
    // double
    printf("%s\n", MYPYPE(3L));
    // other
    printf("%s\n", MYPYPE(&d));
    // other
    
    return 0;
}
  • C++ 에서 활용도가 높은 표현

 

  • Generic programing : 코드가 특정한 자료형에 대해서만 작동하지 않고, 각각의 자료형대해 동작하도록 하는 programing

 

 

#define MYPYPE(X) _Generic((X), \
    int : "int", \
    float: "float", \
    double : "double", \
    default: "other" \
)
  • 각각의 자료형에 대해 다른 출력

 

#define MYPYPE(X) _Generic((X), \
    int : (x + 123)
)
  • 표현식을 넣는 것도 가능

 

 


이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.

http://blog.naver.com/atelierjpro

 

실리콘 밸리의 프로그래머 : 네이버 블로그

안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요.

blog.naver.com

http://www.inflearn.com/course/following-c

 

홍정모의 따라하며 배우는 C언어 - 인프런 | 강의

'따배씨++'의 성원에 힘입어 새롭게 개발된 C 언어로 시작하는 프로그래밍 입문 강의입니다. '따배씨'와 함께 프로그래밍 인생을 업그레이드 해보세요., 따라하며 배우는 C언어 '따배씨++'의 성원

www.inflearn.com

 

 

Comments