我想在C来到达是为了在函数调用时所使用的变量的名称中使用参数的名称,如下:有没有办法让一个函数在C调用
func(varA, varB)
我想知道的参数名称(varA, varB)
我打印了数矩阵的内容,而我wonderign如果有任何简单的方法来区分他们,而无需实际发送的名称为串。
谢谢
我想在C来到达是为了在函数调用时所使用的变量的名称中使用参数的名称,如下:有没有办法让一个函数在C调用
func(varA, varB)
我想知道的参数名称(varA, varB)
我打印了数矩阵的内容,而我wonderign如果有任何简单的方法来区分他们,而无需实际发送的名称为串。
谢谢
如果不更改函数定义,这是不可能的。
您可以手动通过名称或使用宏:
#define func(a , b) func2(a , b , #a , #b)
func2(type a , type b , const char* namea , const char* nameb){ ...
当预处理代码,运营商将#变量转换成字符串。
当C程序被编译并执行,基本上没有变量名的存在了。
因此,没有办法,您可以根据需要从接收到的参数中获取实际参数的(变量)名称。
你想知道他们为什么?为了调试?在调试器中运行你的代码,你就会知道。此外,参数不需要名称。如果函数是用'func(n + 1,next())'调用的呢? –
嗨。 @DCuser如果任何答案已解决您的问题,请通过单击复选标记考虑[接受它](http://meta.stackexchange.com/q/5234/179419)。这向更广泛的社区表明,您已经找到了解决方案,并为答复者和您自己提供了一些声誉。 – 2501