c语言中, 函数名也称为函数的指针,那函数名是否也占内存空间?

 我来答
雨吻月
2013-12-11 · TA获得超过384个赞
知道小有建树答主
回答量:394
采纳率:0%
帮助的人:192万
展开全部

ShowMenu是一个函数名,可以看到他的值是一个地址。

&ShowMenu是对函数取地址,指向和ShowMenu同样的地址。

可以看出,ShowMenu是占用一个字节的,而作为指针&ShowMenu却占用四个字节。

所以说,函数名占用空间的。

更多追问追答
追问
运算符也占字节?
那是什么?怎么还可以显示函数名所站字节?
桑安磊0e
推荐于2018-04-19 · 超过13用户采纳过TA的回答
知道答主
回答量:298
采纳率:50%
帮助的人:37.3万
展开全部
首先你上面的话是错误的,函数名是一段指令的入口地址,它是地址常量,不占用内存空间,只是在编译阶段存在于编译器的符号表中,例如函数的入口地址是0x123456,在翻译成机器指令以后,函数名是不存在的其在本质上对应汇编上的jump指令,在执行函数的时候,跳转到0x123456,这个函数名的本质就是这个地址。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-11
展开全部
函数名也称为函数的指针, 函数名是函数的首地址,指针当然占空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-12-12
展开全部
经过编译后,函数实际变成了一小段机器代码,并直接通过内存地址进行跳转,本身将不会有名字了,所以不再存在函数名这样的东西。

C语言是高级语言,我们看见的源代码,是给人理解和表达的。CPU能理解的,只能是二进制的机器码。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式