清霜一梦

check_FunctionAddress

0
阅读(1141)

//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 中如何获得一个函数的起始地址和终止地址?