指针在函数传参的使用

首先函数有形参和实参之分,形参是在函数原型和函数定义中写的参数,实参是在实际调用函数时的参数
调用函数的过程:将实参压栈,在栈内存空间中重新创建以形参为编译地址的空间,值为实参传递,(这里就说明了为什么要在实参为大数据,尤其是结构体的时候,建议用指针传地址,因为指针大小固定是4个字节,这是因为指针即地址,现在地址总线是32根,32bit == 4Byte),所以说在调用函数结束时,因为出栈,这块内存空间被系统回收,原先压栈的实参没变化
当实参是指针时,传指针是传地址,而*p又是指向实参,导致修改*p可以修改实参指向的内存,所以当希望可以通过函数修改实参的时候,一般就是传递实参地址,所以c++专门多了一个“引用”的概念。
 
总结:希望修改传递给函数的值时,实参为其指针,修改指针的指针比如数组的时候也是如此
ps:其实最快的方法是看动画,其次看图,但画图麻烦我就不画了

posted on 2012-12-13 14:55  人世间的金某人  阅读(180)  评论(0编辑  收藏  举报

导航