p已定义是指针,在赋值的时候, *p=a[0] 和 p=&a[0] 效果一样吗

[复制链接]
查看11 | 回复5 | 2011-12-31 14:59:55 | 显示全部楼层 |阅读模式
完全不一样。举例:int a[2]={1,2};int b=3,*p=&b;*p=a[0];
//这个等价于b=a[0];p=&a[0];
//这个表示p由原来指向b改为指向a[0]。...
回复

使用道具 举报

千问 | 2011-12-31 14:59:55 | 显示全部楼层
这是两码事,前一个是赋值,后面这个是取地址,前一个*p=a[0]是把a[0]的值,填写到指针p所指向的地方p=&a[0]; 是让指针p指向a[0] ,区别老大了...
回复

使用道具 举报

千问 | 2011-12-31 14:59:55 | 显示全部楼层
*p=a[0] 和 p=&a[0] 不一样!虽然赋值后,*p的值都是a[0],但是前者不能执行p++操作,后者可以!...
回复

使用道具 举报

千问 | 2011-12-31 14:59:55 | 显示全部楼层
不一样,前一个是单元里的值进行赋值,后面一个是地址赋值,修改了P所指向的地址...
回复

使用道具 举报

千问 | 2011-12-31 14:59:55 | 显示全部楼层
前一个就是 *p=*a后一个p=a这肯定不一样。...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行