C 需要指针变量的意义

C需要指针变量的意义main{inta=5,*ap;ap=&a;printf("%d",*ap)}变量a,和指针变量ap同样都要占用内存,为何需要用ap来存a的地址,输出... C 需要指针变量的意义main{
int a=5,*ap;
ap=&a;
printf("%d",*ap)
}

变量a,和指针变量ap同样都要占用内存,为何需要用ap来存a的地址,输出显示*ap,而不直接输出a呢?
展开
 我来答
此时秋风凉
2018-04-25 · 超过104用户采纳过TA的回答
知道小有建树答主
回答量:158
采纳率:78%
帮助的人:77.6万
展开全部
这个例子是无所谓的
指针存在的意义就是可以用来表示动态数组,也可以做为参数传递给函数
C/C++中数组的定义如果是int a[100]的话,必须给出确定的数组长度,这样容易造成空间的浪费或不够用,不够用的话就不好办
指针的话,它可以指向一段连续的内存,指针的值则是内存的首地址,这样的话就无所谓空间的浪费或不够用了,直接往后续就行
如int* a = (int*)malloc(10*sizeof(int));声明长度为10的动态数组,数组名就是指针变量的名a,要是不够用了,realloc就可以:a = (int*)realloc(a,10*sizeof(int));(好像是这么用的),可见扩容很方便
传参的话,C语言函数一定是值传递,传入的形参是实参的拷贝,这样的话形参传进去后,函数改变形参的值,外部的实参的值绝不会变化。如果传入的实参的地址,函数内部用指针获取,就可以改变实参的值,因为指针的值,就是实参的内存空间。
百度网友eb6ab18
2018-04-25 · TA获得超过583个赞
知道小有建树答主
回答量:1068
采纳率:83%
帮助的人:245万
展开全部
要说指针变量对于C语言的意义,那就好像太阳对于地球的意义一样,没有它,一切都暗淡了……
当然,从你这个例子里面,指针就是来打酱油的。不过这个例子的目的也就是仅仅告诉你一件简单的事:指针可以指向一个变量。
简单的事情往往可以创造奇迹。有了一个指向变量的东西,参数传递才可以实现“引用”,面向对象才得以从理论走向现实,才有了JAVA、C++、.Net等等这些超强大的晚辈,我好像说得有些远,不如你耐心继续往下学习,渐渐体会“指针可以指向一个变量”到底都能做哪些想象不到的事情?
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-04-25
展开全部
在你这个例子里面是多此一举,但是它多了一种间接访问的手段。
有了指针变量:
1)可以更加方便的访问数组;
2)可以更加方便地操作字符串
3)可以访问堆的内存
......
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式