请选择 进入手机版 | 继续访问电脑版
快捷导航
0 72

指针p,*p,&p之间的区别

taoge 于 2018-9-11 17:29 发表在 [头脑风暴] [复制链接]

注册后可查看大图哦

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
假设我们定义一个指针p。
那么会经常使用到三个符号:
1,p;

//p是一个指针变量的名字,表示此指针变量指向的内存地址,如果使用%p来输出的话,它将是一个16进制数
2,*p;

//*p表示此指针指向的内存地址中存放的内容,一般是一个和指针类型一致的变量或者常量。


3,&p;

//&是取地址运算符,&p就是取指针p的地址
下面这个例子:
#include <stdio.h>
main()
{
int a[]={1,2,3,4,5},*p=a;
printf("%d\n",*p);
printf("%d\n",p);
printf("%d\n",a);
printf("%d\n",&p);
}

输出结果为:
1
1245036(各人的电脑可能不相同)
1245036(各人的电脑可能不相同)
1245032(各人的电脑可能不相同)
从结果可以看出,
*p为所指向的地址的值
p为所指向的地址,即a的地址
&p为指针变量p的地址


Connecting & Messaging from Any.

共 0 个关于本帖的回复 最后回复于 2018-9-11 17:29

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐板块

精彩推荐

热门排行

明星用户

手机版|小黑屋|AnyMSG ( ©AnyMSG 2009 - 2017 · ICP备16009991号 )

GMT+8, 2019-4-19 12:25