【发布时间】:2014-07-10 06:01:04
【问题描述】:
我试图获取函数名 [abc() 和 main()] 指向的地址的内存内容,但函数内部的 printf() 都给出相同的输出,尽管我取消引用函数指向的地址每个函数内的第二个 printf() 中的名称。这是为什么?为什么 *(abc) 和 *(main) 打印内存地址而不是内容?
#include<stdio.h>
void abc(){
printf("\n%p \n ", abc);
printf("\n%#x\n ",*(abc));
}
void main(){
abc();
printf("\n%p \n ", main);
printf("\n%#x\n ",*(main));
}
【问题讨论】:
-
AFAIK,C 中没有像“函数体”这样的类型。如何实现
printf来实现这个目的?
标签: c pointers function-pointers dereference