初学C语言,*是取指针目标运算符,&是取地址运算符,它们有什么区别? 通俗一点 谢谢

 我来答
kaixingui2012
2014-08-31 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6322万
展开全部
&是取地址运算 对任意变量都可以进行取地址操作
如:
int i , *pi ;
pi=&i ;
int **ppi ;
ppi=&pi ;
*是取指针目标运算符 其后跟随的必须是指针类变量
如:
int i,*pi ;
pi=&i ;
*pi = 10 ; //相当于 i=10 ;
*i=10; 这样写就是错的,i不是指针类变量,所以 *i操作就是错误的语句。
腾韵TY
2014-08-31
知道答主
回答量:24
采纳率:0%
帮助的人:7.8万
展开全部
例如你申请一个变量,变量有他的值和他的存储空间,*是根据变量存储空间取出变量的值,如int *p = 4;*p就等于4,&是根据变量取出其存储空间的地址,如 int p = 4,&p就是p所在的空间
更多追问追答
追问
那&在编程中有什么实际的应用么,使用了&p又能做什么呢
追答
可以用在函数中实际交换两个变量的值,可以用来定义变量的引用,指针是C语言最难学的地方,如果上面我说的提示,你看不懂,建议看一下C和指针这本书,或者C primer plus,书上都有
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
XoriieInpottn
2014-08-31 · TA获得超过494个赞
知道小有建树答主
回答量:153
采纳率:100%
帮助的人:152万
展开全部
这两个运算符功能是互逆的
比如现在有int型变量a,a值是100,a在内存中的地址是0x012FA7A6

* 就是给定地址求值,即已知0x012FA7A6,求出对应值100
& 就是给定变量,求地址,即要得到对应a的地址
追问
多谢,很好理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式