C语言的指针变量前面的星号怎么有时候写了有时候没写?

搞糊涂了,什么时候写,什么时候不写啊?解应用是什么意思啊... 搞糊涂了,什么时候写,什么时候不写啊?
解应用是什么意思啊
展开
 我来答
百度网友b0cf9b859
推荐于2017-11-23 · TA获得超过1391个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:503万
展开全部
定义,声明的时候,必须写

int * ip;
char * cp;
double *dp=NULL;
在使用的时候,*号并不是指针的标志,而是一种运算符号,意思是解应用。
int a=5;
int b=3;
int * ip=&a;
那么,直接使用ip,ip是这个地址,是一个指针,比如ip=&b,那么ip就指向了b。
而使用*ip,是对ip进行解引用计算,也就是取出ip指向的内容,*ip的值是5(a的值),*ip=b,是对ip指向的地址赋值,此时你输出a,得到的值是3
希望能帮到你,不懂再问我
***********************************************
一个指针,指向一个数据,也就是间接地使用了这个数据,我们可以称之为引用。
直接使用ip,就是间接使用(得到地址),通过地址解析出原始数据,可以称之为解引用,所以*ip就得到了ip指向的数据。
可能叫做 "地址解析"之类的你更容易明白吧
hpool159
2010-05-01
知道答主
回答量:17
采纳率:0%
帮助的人:14.2万
展开全部
指针是一个变量,里面保存的是她指向的地址。int x=8;

当定义一个指针变量时需要带星号如:int *p;(定义一个int型的指针)。

当给这个指针赋值时为:*p=x(表示给p所指向的空间放一个值,这个值是8)。

当你给指针赋地址时为:p=&x;(对x取址则它就是地址,表示
给p的空间里放一个值,这个只是地址)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-05-01
展开全部
有星号表示这是一个指针变量。

请阅读C语言指针方面的教程。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FrankHB1989
2010-05-02 · TA获得超过4.2万个赞
知道大有可为答主
回答量:4569
采纳率:100%
帮助的人:3160万
展开全部
作为标识符,*不是合法的字符。因此指针名称中不含*。在声明指针时用到的*表示类型,例如int *p,也可以写成int* p,表示p是int*类型的变量,即指向int变量的指针。之所以要采取前一种写法,是因为可以方便同时声明多个变量和对应的指针,例如int a, *p, b,声明了int变量a、b,以及int的指针p。这里的*出现在声明中,不是运算符。
关于引用:简单而言,引用是指取得确定地址的对象(一个对象可以是一个变量,严格来说,和“数据”是两个概念——后者仅强调值而不强调地址的存在性),因此C语言中取地址运算符&表示引用语义,得到的地址值是对象的引用 (reference) 。通过一个引用(C语言中就是地址)得到对象的过程,称为解引用 (dereference) 。
作为单目运算符的*是解引用运算符,也称为间接访问运算符(因为对于指针指向对象的操作需要先把指针解引用成对象以后再访问),作用于指针上,得到被指向的对象,是取地址运算符对应的逆运算。
例如,int a, *p = &a;,那么之后在有效作用域内,*p的结果就是a。
====
[原创回答团]

参考资料: 原创

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式