随笔 - 20, 文章 - 0, 评论 - 5, 引用 - 0
数据加载中……

char*&和char*

 1 #include <iostream>
 2 using namespace std;
 3 struct point
 4 {
 5     int x;
 6     int y;
 7 };
 8 
 9 void changenum1(point *&pnum)
10 {
11     pnum = new point;
12     pnum->= 4;
13 }
14 
15 void changenum2(point *pnum)
16 {
17     pnum = new point;
18     pnum->= 4;
19 }
20 
21 
22 
23 
24 void test1()
25 {
26     point *num = new point;
27     num->= 10;
28     changenum1(num);
29     std::cout<<"指针引用"<<num->x<<endl;
30 }
31 
32 void test2()
33 {
34     point *num = new point;
35     num->= 10;
36     changenum2(num);
37     std::cout<<"指针"<<num->x<<endl;
38 }
39 
40 
41 int _tmain(int argc, _TCHAR* argv[])
42 {
43     test1();
44     test2();
45 
46     return 0;
47 }
48 
运行结果是:
4
10
解释:
char *&是指针引用
cha *是指针
当用指针引用作为形参的时候,改变形参的指针,同时实参的指针也改变了。
当用指针做形参的时候,改变形参的指针,实参的指针不改变,当改变指针所指向的内容的时候,会同时改变。

posted on 2010-09-01 23:47 Eping 阅读(1106) 评论(0)  编辑 收藏 引用 所属分类: C++基础


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理