check_FunctionAddress
//date :2013 4 18
//designer: pengxiaoen
//function :check the function address
int function ()
{
int i = 10;
return ;
}
int main ()
{
int int_add;
int *p_add;
int_add = function;
p_add = function;
printf ("int_add = %d \n",int_add);
printf ("*p_add = %d\n",*p_add);
system ("pause");
}
在dev编辑器里,两个赋值的语句都给出了warning :assignment makes integer from pointer without a cast 和assignment from incompatible pointer type。不是说函数名就是函数的起始地址吗,为什么会出现这种状况呢,主要当然是结果了
这种结果无法接受啊?
疑惑:一,为什么会是这样的结果呢,里面有一个是起始地址吗?如果有哪一个,为什么,如果没有 又是为什么
二,在C 中如何获得一个函数的起始地址和终止地址?