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 展开
比如我看见这样的语句:
⑴printf("%d",*p)
⑵int *p
⑶p=a
⑷for(i=0;i<10;i++,p++)
指针p的*时加时不加,我ft 展开
4个回答
展开全部
开始定义的时候加*,比如:int *p;/*这里加*是表示p是一个int型的指针*/
指向值的时候加*,比如:int *p,a;*p=a;
指向地址的时候不加*,比如:int *p,a[10];p=a;或*p=a[0];
也就是一开始定义的时候的*是表明p是指针,但是到后面用的时候,p表示地址,*p表示p指向的"地址的值".ok???
指向值的时候加*,比如:int *p,a;*p=a;
指向地址的时候不加*,比如:int *p,a[10];p=a;或*p=a[0];
也就是一开始定义的时候的*是表明p是指针,但是到后面用的时候,p表示地址,*p表示p指向的"地址的值".ok???
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定义的时候加,如int *pt;定义了一个整型指针pt
使用指针指向的地址内的数据的时候加,如char arr="abc",*ptc=arr;*ptc='d';就把arr[0]给改了
给指针赋值的时候不加,当然像上面定义的时候直接赋值是要加的,其他如int a=32,*pt;pt=&a;就是让pt指向a
其他都不用吧
使用指针指向的地址内的数据的时候加,如char arr="abc",*ptc=arr;*ptc='d';就把arr[0]给改了
给指针赋值的时候不加,当然像上面定义的时候直接赋值是要加的,其他如int a=32,*pt;pt=&a;就是让pt指向a
其他都不用吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说的具体点,你这样子我没法说
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询