2016-02-29 100 views
0

我想在C来到达是为了在函数调用时所使用的变量的名称中使用参数的名称,如下:有没有办法让一个函数在C调用

func(varA, varB) 

我想知道的参数名称(varA, varB)

我打印了数矩阵的内容,而我wonderign如果有任何简单的方法来区分他们,而无需实际发送的名称为串。

谢谢

+0

你想知道他们为什么?为了调试?在调试器中运行你的代码,你就会知道。此外,参数不需要名称。如果函数是用'func(n + 1,next())'调用的呢? –

+0

嗨。 @DCuser如果任何答案已解决您的问题,请通过单击复选标记考虑[接受它](http://meta.stackexchange.com/q/5234/179419)。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。 – 2501

回答

1

如果不更改函数定义,这是不可能的。

您可以手动通过名称或使用宏:

#define func(a , b) func2(a , b , #a , #b) 

func2(type a , type b , const char* namea , const char* nameb){ ... 

当预处理代码,运营商将#变量转换成字符串。

1

当C程序被编译并执行,基本上没有变量名的存在了。

因此,没有办法,您可以根据需要从接收到的参数中获取实际参数的(变量)名称

相关问题