有什么方法可以在ANSI C中打印指向函数的指针?当然,这意味着您必须将函数指针转换为void指针,但这似乎是不可能的?
#include <stdio.h>
int main() {
int (*funcptr)() = main;
printf("%p\n", (void* )funcptr);
printf("%p\n", (void* )main);
return 0;
}
$ gcc -ansi -pedantic -Wall test.c -o test
test.c:在函数'main'中:
test.c:6:警告:ISO C禁止将函数指针转换为对象指针类型
test.c:7:警告:ISO C禁止将函数指针转换为对象指针类型
$ ./test
0x400518
0x400518
这是“有效的”,但不标准...
一只斗牛犬
九州编程
相关分类