C程序中获取变量/宏名称的方法

在C程序中怎么打印一个变量的名称呢?利用#,看代码:

#include "stdio.h"
#define VNAME(value) (#value)
int main(void)
{
		int autoVal = 1;
		#define MACRO_TEST (6)
		printf("auto value name is %s\n",VNAME(autoVal));
		printf("macro name is %s\n",VNAME(MACRO_TEST));
}

结果:
在这里插入图片描述

结论:
在宏VNAME中,我们使用了#,这个#出现在宏中,表示对后面的变量替换的时候,用双引号""括起来,刚好满足我们的需求。

参考:
C/C++程序中获取变量的名称


版权声明:本文为guozhongwei1原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。