是否有可能找到变量名,指针指向?

nik*_*iko 2 c

是否可以获取指针指向的数组名称?

例:

 char name[20];
 char *p = name
 int door_no;
 int *q = &door_no
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,我们给出了数组的基地址,数组name和指针q指向door_no但如果,我必须知道数组所指向的变量的名称?变量名指针q指向的是什么?可能吗?我尝试并得出结论,这是不可能的,但我仍然试图得到解决方案.你觉得伙计们怎么样?有没有办法让它成为可能?

Hen*_*olm 18

不,你做不到.在编译和链接代码之后,变量的名称甚至不存在(除非您保留调试信息),因此您无法在运行时获取它.

在C语言中(与JavaScript或经典Lisp等非常动态的语言形成对比),变量名称的唯一作用是告诉编译器/链接器在源代码中提及变量时您指向的声明.一旦在编译器的内部数据结构中建立并表示了这些连接,就不再使用这些名称(除了从编译器调试和/或漂亮打印错误消息之外).