c语言中*p=&a和p=&a有什么区别
12个回答
2017-12-14 · 知道合伙人教育行家
天雨下凡
知道合伙人教育行家
向TA提问 私信TA
知道合伙人教育行家
采纳数:17564
获赞数:65163
爱电脑、爱数学、爱音乐; 熟悉VB、C/C++、JAVA; EXCEL与VBA有所研究…… 数学,一些会,一些被忘却……
向TA提问 私信TA
关注
展开全部
这样问说明你对指针的概念还不清楚,以下两种方式等价:
一、先声明指针,再给指针赋值
int *p,a;
p=&a;
二、定义指针的同时给它赋值
int a,*p=&a; //这里的*p可以解释成int * p,int *表示p是指向int型变量的指针
一、先声明指针,再给指针赋值
int *p,a;
p=&a;
二、定义指针的同时给它赋值
int a,*p=&a; //这里的*p可以解释成int * p,int *表示p是指向int型变量的指针
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于指针来说,
*p = a[0],表示向地址为p的内存区域赋值为a[0]。
p = a[0],把变量p的值改为a[0],这个语句正常应用中是错误的。变量p的值为内存地址,这样赋值会丢掉p原来指向的内存。
正确给内存地址赋值应该使用第一句。
*p = a[0],表示向地址为p的内存区域赋值为a[0]。
p = a[0],把变量p的值改为a[0],这个语句正常应用中是错误的。变量p的值为内存地址,这样赋值会丢掉p原来指向的内存。
正确给内存地址赋值应该使用第一句。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询