使用宏连接字符串数组

时间:2013-10-03 21:08:57

标签: c

我需要连接两个字符串数组,需要用该字符串

调用该函数

我有两个数组

char q[4] = {'t','e','s','t'};
char w[4] = {'f','u','n','c'};

#define dump(a,b)  a ## b

我有一个名为

的函数
void testfunc()
{

...
..

}

如果我把这个宏叫做哑巴 哑(q,w)这只是连接q和w,我需要连接该数组中的字符串。

需要通过使用宏连接字符串数组来调用该函数。 那可能吗?

2 个答案:

答案 0 :(得分:4)

没有。宏不理解C构造(例如数组),它们只是执行简单的文本替换。

答案 1 :(得分:0)

  

我只想调用存储名称的函数testfunc()   两个数组char

虽然在这种情况下你不能使用宏,你可以有一个数组用于函数指针,并选择一个你想在运行时调用的数组。

void (*p[NFUNCS])(void);
//...
p[0] = testfunc; /* store address of the function */
//...
(*p[0])(); // call to testfunc