몽상실현개발주의

[따배씨] 16.5 가변 인수 매크로 본문

Language/C

[따배씨] 16.5 가변 인수 매크로

migrationArc 2021. 8. 12. 17:08

[따배씨] 16.5 가변 인수 매크로

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

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

16.5 가변 인수 매크로 Variadic Macros

 

#include <stdio.h>
#include <math.h>

/*
    Variadic Macros accept a variable number of arguments.
 */

#define PRINT(X, ...) printf("Message " #X ": " __VA_ARGS__)
// ... : ellipes
// __VA_ARGS : one of the predefined macros

/*
    printf(...)
    stdvar.h Variadic arguments
 */


int main()
{
    double x = 48;
    double y;
    
    y = sqrt(x);
    PRINT(1, "x = %g\n", x);
    // Message 1: x = 48
    PRINT(2, "x = %.2f, y = %.4f\n", x, y);
    // Message 2: x = 48.00, y = 6.9282
    
    return 0;
}
  • Macro 로 선언된 PRINT() 는 입력받은 X 값을 #X 에 대입되고, 나머지 입력값은 print() 함수로 작성되어 출력된다.

 

 

 


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

http://blog.naver.com/atelierjpro

 

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

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

blog.naver.com

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

 

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

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

www.inflearn.com

Comments