11问答网
所有问题
C语言中 取内容与取地址运算符的问题
* & a = * (& a) =* p1 = a即 *&互相抵消 &*无意义问题是 怎么就互相抵消了,怎么就无意义了p1是指针变量
举报该问题
推荐答案 2013-02-02
我明白你什么意思,指针的概念确实不好理解!
1,先给你说下指针,你把指针理解了运算符的抵消就明白一半了!
指针里面是保存的内存地址(就像int变量里面保存的是整型变量一个意思)。
整型变量保存在内存里面,我可以通过这个变量名称来调用这个数据,也可以通过指针里面这个变量的地址加上*(间接访问运算符),来调用这个数据。
2,再说下运算符*和&
*是间接访问运算符:就是可以通过地址,找到这个地址里面的变量,所以 *p1 就等同于变量a
&是求地址运算符:就是将变量所在的内存地址,提取出来
这两个运算符的运算等级是相同的,也就是说谁距离变量近,就谁先。所以*&a和*(&a)是一样的,都是先取地址,在对地址进行间接访问。但是一定要注意*与&的顺序,&*a是无效的。
3,再说下题
*运算符就是对地址进行操作的,那么 *地址 的意思就是访问地址里面的数据,而&a就是取变量a的地址,所以*&a: 先取变量a的地址 再 对地址进行间接访问,两个操作就相互抵消了,最后还是变量a。
4,还有什么不明白的么?
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/FP7M8vv27.html
其他回答
第1个回答 2009-12-14
* 的优先级大于&,所以取值必须在& a加括号,不然会无意义
第2个回答 2012-11-08
详细点儿,看不懂你什么意思...
把规范的写出来...
如果是这样,这个赋值确实没什么意义...
本回答被网友采纳
相似回答
大家正在搜
相关问题
C语言中 取内容与取地址运算符的问题
初学C语言,*是取指针目标运算符,&是取地址运算符,它们有什...
为什么C语言Scanf函数对字符串不要加 取地址运算符&
关于c语言中的取内容运算符*
&怎么读 c语言的取地址运算符。就是7那个键的那个符号。
c语言中取内容运算符为
C语言里取地址符和按位与操作符都是&,那用的时候怎么区分?
如果在字符数组名前加上取地址操作符&,会发生什么?(c语言)