正文

指针做形参2010-06-07 20:18:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/manbuyuduan/51314.html

分享到:

void test(int* p) { *p = 2; p = NULL; }int main(int argc, char * argv[]) { int te = 3; cout<<"te = "<<te<<endl; int *pTe = &te; cout<<"*pTe = "<<*pTe <<endl; cout<<"pTe = "<<pTe <<endl; test(pTe); cout<<"After test()\n*pTe = "<<*pTe <<endl; cout<<"pTe = "<<pTe <<endl; system("pause"); return 0; } 输出: te = 3 *pTe = 3 pTe = 0013FF38 After test() *pTe = 2 pTe = 0013FF38 Press any key to continue . . . 说明: 函数的形参可以是指针,此时将复制实参指针。与其他非引用类型的形参一样,该类形参的任何改变也仅作用于局部副本。如果函数将新指针赋给形参,主调函数使用的实参指针的值没有改变。 当函数调用的时候,传递给被调用函数一个指针变量p的复制,即原来地址的复制;如果在被调用函数中修改了被指向的对象,即指针所指向的地址处的内容时,由于调用函数中的被复制的指针依然指向这块地址,所以,造成了返回后原指针所指向的对象的值的改变。如果在被调用函数中对指针本身进行任何操作,其实都不会对调用函数中的指针造成任何的修改。

阅读(2951) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册