我在C中尝试获取调用函数时使用的变量的名称,如下所示:
func(varA, varB)
我想知道参数(varA, varB)
我正在打印几个矩阵的内容,如果有任何简单的方法来区分它们而不必将名称实际发送为字符串,我感到很奇怪。
谢谢
答案 0 :(得分:1)
编译并执行C程序时,基本上不再存在变量名。
所以,不,你没有办法从你想要的接收参数中得到一个实际的参数(变量) name 。
答案 1 :(得分:1)
如果不更改功能定义,则无法进行此操作。
您可以手动传递名称或使用宏:
#define func( a , b ) func2( a , b , #a , #b )
func2( type a , type b , const char* namea , const char* nameb ){ ...
预处理代码时,operator#会将变量转换为字符串。