C语言指针什么时候加星号什么时候不加

怎么时加时不加比如我看见这样的语句:⑴printf("%d",*p)⑵int*p⑶p=a⑷for(i=0;i<10;i++,p++)指针p的*时加时不加,我ft... 怎么时加时不加
比如我看见这样的语句:
⑴printf("%d",*p)
⑵int *p
⑶p=a
⑷for(i=0;i<10;i++,p++)
指针p的*时加时不加,我ft
展开
 我来答
吉祥二进制
高粉答主

2015-05-26 · 科技改变生活,生活改变科技。
吉祥二进制
采纳数:33926 获赞数:84560

向TA提问 私信TA
展开全部

1、声明及定义一个指针时,需要用*表示标识符是一个指针。比如

int *p;

定义一个指针,p是int *类型,这里的*主要说明变量是指针类型。


2、作为间接访问运算符

int a = 2;
int *p = &a;
printf("%d\n", p, *p);

以上面的例子来说:

p:是指针,是一个地址,它是int *类型。

*p:是指针所指内存中存储的数据,是一个int类型。

望风斩月
2008-07-23 · TA获得超过1353个赞
知道小有建树答主
回答量:728
采纳率:0%
帮助的人:536万
展开全部
开始定义的时候加*,比如:int *p;/*这里加*是表示p是一个int型的指针*/
指向值的时候加*,比如:int *p,a;*p=a;
指向地址的时候不加*,比如:int *p,a[10];p=a;或*p=a[0];
也就是一开始定义的时候的*是表明p是指针,但是到后面用的时候,p表示地址,*p表示p指向的"地址的值".ok???
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a0622aeba
2008-07-23 · TA获得超过1703个赞
知道小有建树答主
回答量:1145
采纳率:0%
帮助的人:1573万
展开全部
定义的时候加,如int *pt;定义了一个整型指针pt
使用指针指向的地址内的数据的时候加,如char arr="abc",*ptc=arr;*ptc='d';就把arr[0]给改了
给指针赋值的时候不加,当然像上面定义的时候直接赋值是要加的,其他如int a=32,*pt;pt=&a;就是让pt指向a
其他都不用吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
189******78
2008-07-23 · TA获得超过122个赞
知道答主
回答量:192
采纳率:0%
帮助的人:136万
展开全部
说的具体点,你这样子我没法说
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式