在程序运行时,一个函数占用一段连续的内存。当调用一个函数时,实际上是跳转到函数的入口地址,执行函数体的代码,完成后返回。
公司主营业务:网站制作、做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出栾川免费做网站回馈大家。
函数指针指向一个函数的入口地址,也就是函数存储空间的首地址。
在C语言中,数组名代表数组的首地址,同样函数名代表了函数的首地址,因此在赋值时,直接将函数指针指向函数名就行了。
因此函数指针调用vs直接调用,占用的存储空间都是一样的。相当于数组指针和数组名的关系,指向的都是同一个数组。
局部变量存在函数体里面,比如转换成8086汇编(示意):
func: 定义变量
push ax
pop ax
ret
main: call func
满意请采纳,谢谢!
看是否会被调用
如果没有被调用
那么不会占内存
否则会在代码段占用内存的。
函数名被编译的时候其实就是函数的入口地址,32位计算机地址就是32位,64位计算机就是64位。
函数名是给程序员用的,地址是给计算机用的。
是的,
形参
和
实参
是两个不同的
存储单元
,都占用内存空间,当
函数调用
结束后,形参的内存空间也就会被释放掉了。
ShowMenu是一个函数名,可以看到他的值是一个地址。
ShowMenu是对函数取地址,指向和ShowMenu同样的地址。
可以看出,ShowMenu是占用一个字节的,而作为指针ShowMenu却占用四个字节。
所以说,函数名占用空间的。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款