是否可以获取指针指向的数组名称?
例:
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等非常动态的语言形成对比),变量名称的唯一作用是告诉编译器/链接器在源代码中提及变量时您指向的声明.一旦在编译器的内部数据结构中建立并表示了这些连接,就不再使用这些名称(除了从编译器调试和/或漂亮打印错误消息之外).