指针和函数的问题,函数做形参???

 我来答
么庆萨娅
2020-01-14 · TA获得超过3万个赞
知道大有可为答主
回答量:9587
采纳率:29%
帮助的人:955万
展开全部
要理解你这个问题,你必须首先明白传值和传指针的区别。
给一个函数传值,实参会把具体的值传给函数的形参,函数拿到这个值以后会产生一个临时变量(这个临时变量你是看不到的),你的整个函数的操作就是在操作这个临时变量,所以你在函数内部给,形参赋值并不能改变实参的值。
给一个函数传指针,实参会把外部存储值的地址给形参,注意这是地址,证明外部已经申明了存储该实参值的内存,不然不会存在存储某值的地址,所以内部不再需要分配空间;当然有的时候我们的实参只申明了一个指针,并没有申请地址,这个时候编译是没有问题的,但是在运行的时候我们会把实参指向的内容的地址传给形参,而此时实参并没有申请空间,这个时候就会出现一个错误。
所以,当我们传递给函数一个指针的时候,我们的目的是要操作某一块内存,既然要操作某一块内存,那么这块内存首先必须存在,既然已经存在在函数内部在分配空间就没有必要,即使分配了也没有任何意思,如果不释放还会出现内存泄露情况
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式