C语言指针的课后题,谢谢!

[复制链接]
查看11 | 回复5 | 2012-10-5 16:40:30 | 显示全部楼层 |阅读模式
1)由于 *pointer_1等同于a,所以后面那个等同于&a,即a的地址2)a的值3)如果是单独的这两个语句是没有区别的,但是如果放在其它语句中可能会有区别,受运算符优先级的影响,可能会表达不同的含义...
回复

使用道具 举报

千问 | 2012-10-5 16:40:30 | 显示全部楼层
pointer_1 指针 得到 变量 a 的地址*pointer_1就是 a&*pointer_1 就是 &a即 a的地址&a 是a 的地址*&a 即*(a 的地址) 不就和 *pointer_1 一样了
即 a(*pointer_1)++
加的是 a
pointer_...
回复

使用道具 举报

千问 | 2012-10-5 16:40:30 | 显示全部楼层
首先你要明白*和&是什么东东1.*是指针运算符 在C中为第二优先级,自右至左结合2.&取地址运算符 优先级和结合性同上再来解答问题:假设:int a=3,*pointer_1=&a;//为了下面说明① pointer_1=&a;//pointer_1这个指针变量中已经存放了a的地址
&*pointer_1//首先进行*point...
回复

使用道具 举报

千问 | 2012-10-5 16:40:30 | 显示全部楼层
①pointer_1 = &a; 那么pointer_1的值为a的首地址,*pointer_1为a的值;*pointer_1 《=》a 而&*pointer_1
&a;②*&a中*与&的优先级相同,可以认为是*(&a),它的值就是 a 啦;③(pointer_1)++表示原来的地址自增一,但pointer的值不变,而pointer...
回复

使用道具 举报

千问 | 2012-10-5 16:40:30 | 显示全部楼层
第一题:p=&a是指取a的地址给p,*p你可以理解为刚才那个地址所存储的数据,同样“&”取地址符下的&*p也应该等价于内存单元的一个地址。第二题,就是指该内存地址存的数据。第三题,a与&a的区别是:a指的是数组第一个元素的第一个数据的首地址,而&a是指数组a的首地址。该题同理。当用括号括起来的时候++,与未用扩后括起来的所指向的地址可能不同。望采...
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行