c语言取地址符有什么用,为什么scanf一定要用&

c语言取地址符有什么用,为什么scanf一定要用&,第1张

地址 就是把变量转为指针, 起到传地址调用函数的效果.而C语言中函数传参有两种,传值调用 和传指针调用.传值调用时, 被调函数中改变参数值不会影响主函数.只有传指针调用, 才可以将参数值回传给主函数.scanf中要根据输入对参数赋值, 所以 必须传指针调用.

这没有硬性规定,要看里面的具体实现,取地址变量就是指针型变量了,看函数定义,应该是从栈中pop的元素,会赋值给e指向的元素,这会修改元素的值,所以就使用了指针,而push的时候是把元素e的数据内容拷贝到栈中,因此不需要&,简而言之,就是需要修改元素的值时,在函数中传递的是地址,而读取元素值时,不需要(当然也可以)是地址变量

常用的是:为指针变量赋值的时候,在函数的形式参数中出现在形参变量的前面。

地址符:程序代码是运行在内存中的,任何一个变量都是有他自己的内存地址的,就像你也有个家庭地址一样,只要知道你的家庭地址,京东就可以送货上门,这里取地址的,意思就是找到你家地址,好让scanf可以把你在京东上买的货物送到你家里面(赋值)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8626518.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存