int *p=a和int *p=&a有什么区别?

[复制链接]
查看11 | 回复5 | 2018-2-22 22:14:10 | 显示全部楼层 |阅读模式
int *p=&a 其实是两个语句 等价于 int *p; p=&a;如果a是int型,int *p=a是错误的,正确的应该是 int *p; p=&a;在定义的时候不能给p直接赋值整型,只能赋值int型地址 即 &a;如果要给p指针指向的地址赋值,就可以*p=a;但不能在定义*p的时候直接赋整型。...
回复

使用道具 举报

千问 | 2018-2-22 22:14:10 | 显示全部楼层
从基本定义来啊,int *p之后p为一个地址,*代表指向这个地址,int *p=&a等价于int *p,p=&a.这样p和&a都是地址,可以=。对于int *p=a,如果a为数组名,则也是个地址,与前面的就同了,如果a只是个一般变量,p是地址,*指向它,*p合起来就是一个数,如a是int型,就可看成两个数赋值,如果a不是int型,出错...
回复

使用道具 举报

千问 | 2018-2-22 22:14:10 | 显示全部楼层
回答
回复

使用道具 举报

千问 | 2018-2-22 22:14:10 | 显示全部楼层
1)int *p=a;举例:int *p=100;p是一个指针变量,将一个常量赋给一个指针变量,p等于地址0x00000064,即p是指向某个数的指针变量,该数的地址是0x00000064,一般实...
回复

使用道具 举报

千问 | 2018-2-22 22:14:10 | 显示全部楼层
int *p=a p指针的值(p代表的地址)是aint *p=&a 表示p指针指向的是a的地址,p的值是a的地址...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行