重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
int p();
成都创新互联公司自成立以来,一直致力于为企业提供从网站策划、网站设计、成都网站设计、成都网站建设、电子商务、网站推广、网站优化到为企业提供个性化软件开发等基于互联网的全面整合营销服务。公司拥有丰富的网站建设和互联网应用系统开发管理经验、成熟的应用系统解决方案、优秀的网站开发工程师团队及专业的网站设计师团队。
在C语言中这是一个函数的声明,该函数的函数名叫做p, 该函数的返回值为int类型,该函数的参数为空。
如果基础的理解,p是一个函数名,如果更深层次的理解的话,p本质上是一个指针,等楼主学习到关于指针的内容的时候就会更进一步的理解。
p(x,y); p()是一个函数,该函数的第一个参数是一个指针,第二个参数是一个数值。在这个函数p内部,你可以修改传进去的变量x 和y, 但是在这个函数内部对x的修改,函数返回的时候,x可以保持这个修改后的值,但是y就不行,因为它是传值的参数,换句话说,它是复制y的值到这个函数,函数p内部对y的拷贝的修改,函数返回后,这个修改都不会保持,y的值和它调用函数p()之前的值还是一样的。
int *(*p)()——声明p是指向函数的指针,被指向的函数没有形式参数,返回一个int *型指针。
格式控制符“%p”中的p是pointer(指针)的缩写。指针的值是语言实现(编译程序)相关的,但几乎所有实现中,指针的值都是一个表示地址空间中某个存储器单元的整数。printf函数族中对于%p一般以十六进制整数方式输出指针的值,附加前缀0x。
%p是打印地址的, %x是以十六进制形式打印, 完全不同!另外在64位下结果会不一样, 所以打印指针老老实实用%p 。
扩展资料:
%x同样输出16进制形式,不过%x对应的是int型,也就是说,其输出长度与系统int型占的字节数相等回。如32位编译器,int型占4位字节,那么%x输出的结果最多为16个16进制字符。
而%p输出宽度取决于系统地址总线位数,即16位最多输出4位16进制字符,32位最多输出8位16进制字符,64位最多输出16位16进制字符。