请教C内存布局问题
代码如下,先定义函数fun(),然后申明一个函数指针pfun:
void fun()
{
;
}
void (*pfun)();
int main()
{
pfun = fun; //将pfun赋值
}
debug 窗口:
name value
pfun 0x00401005 _fun
fun 0x0040d4b0 fun(void)
&pfun 0x00427e48
_fun 0x0040d4b0 fun(void)
我的问题是,pfun既然指向fun,为什么fun的地址和pfun指向的地址不一样(一个是0x0040d4b0 ,一个是0x00401005)。
而且_fun的地址的确是0x0040d4b,为什么pfun指向0x00401005也可以取到_fun? 函数指针C内存布局
[解决办法]