C언어 함수에서 2개의 고정인자를 하나의 인자로 만드는 방법이 있나요? ex) ReadInput(Port_C, Pin_3); -> ReadInput(Adc); 결과적으로 이렇게 사용하고 싶어서요. #define Adc (Port_C, Pin_3) 이렇게 하면 사용할 수가 없고, 함수를 통채로 define하면 너무 많아져서요... 방법이 있을까요???
질문과 예가 매치가 되나요? 몇번을 읽어봐도 이해가 안되는데....
저도 도저히 매치가 안되네요
#define NAME(n,m) val_ ## n ## m #define MAKE_CALL(A,B) call_func(NAME(A, B))
void call_func(int param) { printf("param=%d \n", param);
}
void test(void) { int val_aabb = 100; int val_ccdd = 200;
MAKE_CALL(aa, bb); MAKE_CALL(cc, dd); }
위와 같이는 되네요. (## 앞뒤로 스페이스 있습니다.) 질문을 이해한 만큼만 만들어 봤습니다.
#define SUM(a) sum(a.x,a.y) struct ipair{int x,y;}; int sum(int a,int b) { return a+b; }
int main() { struct ipair p; p.x=3;p.y=4; printf("%d",SUM(p)); }
#define Adc Port_C,Pin_3
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
질문과 예가 매치가 되나요? 몇번을 읽어봐도 이해가
질문과 예가 매치가 되나요?
몇번을 읽어봐도 이해가 안되는데....
그냥 구조체로 넘기는거랑 다른게 있나요?...
저도 도저히 매치가 안되네요
gcc에 이렇게...
#define NAME(n,m) val_ ## n ## m
#define MAKE_CALL(A,B) call_func(NAME(A, B))
void call_func(int param)
{
printf("param=%d \n", param);
}
void test(void)
{
int val_aabb = 100;
int val_ccdd = 200;
MAKE_CALL(aa, bb);
MAKE_CALL(cc, dd);
}
위와 같이는 되네요. (## 앞뒤로 스페이스 있습니다.)
질문을 이해한 만큼만 만들어 봤습니다.
이런걸 말씀하시나요?
#define SUM(a) sum(a.x,a.y)
struct ipair{int x,y;};
int sum(int a,int b)
{
return a+b;
}
int main()
{
struct ipair p;
p.x=3;p.y=4;
printf("%d",SUM(p));
}
#define Adc Port_C,Pin_3
#define Adc Port_C,Pin_3
댓글 달기