有没有一种方法可以获取c中调用函数时使用的参数名

有没有一种方法可以获取c中调用函数时使用的参数名,c,function,arguments,C,Function,Arguments,我试图在C中获取调用函数时使用的变量的名称,如下所示: func(varA, varB) 我想知道参数的名称(varA,varB) 我正在打印几个矩阵的内容,我想知道是否有什么简单的方法可以区分它们,而不必将名称作为字符串发送 谢谢当一个C程序被编译和执行时,变量名基本上已经不存在了 因此,不,没有办法从收到的参数中获得实际参数的(变量)名称,正如您所希望的那样。当编译并执行C程序时,基本上不再存在变量名称 因此,不,您无法根据需要从接收的参数中获取实际参数(变量)名称。如果不更改函数定义,这

我试图在C中获取调用函数时使用的变量的名称,如下所示:

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

我正在打印几个矩阵的内容,我想知道是否有什么简单的方法可以区分它们,而不必将名称作为字符串发送


谢谢

当一个C程序被编译和执行时,变量名基本上已经不存在了


因此,不,没有办法从收到的参数中获得实际参数的(变量)名称,正如您所希望的那样。

当编译并执行C程序时,基本上不再存在变量名称


因此,不,您无法根据需要从接收的参数中获取实际参数(变量)名称。

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

您可以手动传递名称或使用宏:

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

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

预处理代码时,运算符#将变量转换为字符串。

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

您可以手动传递名称或使用宏:

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

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

预处理代码时,运算符#会将变量转换为字符串。

您想知道它们的用途是什么?用于调试?在调试器中运行代码,您就会知道。此外,参数不需要有名称。如果使用
func(n+1,next())
调用函数会怎么样?您好@DCuser:如果有任何答案解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。你想了解他们干什么?用于调试?在调试器中运行代码,您就会知道。此外,参数不需要有名称。如果使用
func(n+1,next())
调用函数会怎么样?您好@DCuser:如果有任何答案解决了你的问题,请考虑点击复选标记。这向更广泛的社区表明,你已经找到了一个解决方案,并给回答者和你自己带来了一些声誉。