重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
开头的地址?直接把函数名用16进制数出来
创新互联专注于会同网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供会同营销型网站建设,会同网站制作、会同网页设计、会同网站官网定制、微信小程序开发服务,打造会同网络公司原创品牌,更为您提供会同网站排名全网营销落地服务。
如printf("%x\n",main());
#include stdio.h
void f()
{
}
void main()
{
printf("%u\n", f);
printf("%u\n", f);
printf("%p\n", f);
}
主函数中前两行%u表示输出无符号的十进制,而第三行%p表示输出地址,其结果是一个十六进制的数,你将其转换成十进制,你会发现与前两行结果一样。
常数没有地址!!!它和变量不一样。
但是你既然是通过DMA获得的一个常数,那么肯定不是通过123这样的方式调用的,而是保存在某个变量中的,那个变量可以用取址
变量是存放在内存中的,只要是存放在内存中的二进制数就会有一个内存的地址,所有变量是有地址的!
那函数是什么呢?函数是由一些运行的语句组成的,程序运行的时候就会把函数中的语句调用到内存中去,那么函数代码在内存中开始的那个内存空间的地址就是函数的地址!
至于函数中用的变量的地址并不是放在代码区的,一般都放在另外的两个地方,其实地址上是有很大的差值的
希望你能理解上面的内容,祝愿你学习C语言能马到成功!