c语言中函数名代表函数 c语言函数名代表函数的入口地址

C语言中,函数名代表函数的入口地址吗!!!求大神!求解析!

再学习函数指针的时候,见过这么一个例子:

十余年的东昌网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整东昌建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“东昌网站设计”,“东昌网站推广”以来,每个客户项目都认真落实执行。

int func(int x); /* 声明一个函数 */

void (*f) (int x); /* 声明一个函数指针 */

f=func; /* 将func函数的首地址赋给指针f */

赋值时函数func不带括号,也不带参数,由于func代表函数的首地址,因此经过赋值以后,指针f就指向函数func(x)的代码的首地址。

所以 函数名代表函数的入口地址吧

C语言中,函数名代表函数的入口地址吗!!!求大神!求解析

要知道main函数也是由其他的程序调用的。

我们编写的程序,最终是不存在所谓的函数名的,有的只有内存单元地址0xffeedd00.

我们的程序执行时,程序加载到内存,比方说整个程序所占用的内存范围是0xffee0000 ~ 0xffeedd00,这么多。

假设程序有一个小函数fun(),那么它的范围可能是0xffee0000~0xffee00ff。

那么函数fun()的入口地址是多少? 0xffee0000。。

那么函数名fun实际上就是0xffee0000的别称。

你用一个指针指向这个函数,那么你把 指针 = 函数名,实际就是把0xffee0000这个内存单元的地址给指针p。

所以,结论是:

函数名 是 程序在执行时, 函数所占内存单元块的 首地址 的别称。

c语言中函数名就是一个指针吗

是的。函数指针就是函数的指针,它是一个指针,指向一个函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。

例:

A) char * (*fun1)(char * p1,char * p2);

B) char * *fun2(char * p1,char * p2);

表达式相比,唯一不同的就是函数的返回值类型为char**,是个二级指针。

C) char * fun3(char * p1,char * p2);

fun3是函数名,p1,p2是参数,其类型为char *型,函数的返回值为char *类型。

扩展资料

函数指针使用的例子

#include stdio.h

#include string.h

char * fun(char * p1,char * p2)

{

int i = 0;

i = strcmp(p1,p2);

if (0 == i)

{

return p1;

}

else

{

return p2;

}

}

int main()

{

char * (*pf)(char * p1,char * p2);

pf = fun;

(*pf) ("aa","bb");

return 0;

}


本文名称:c语言中函数名代表函数 c语言函数名代表函数的入口地址
路径分享:http://pwwzsj.com/article/dodejhe.html