1:
- void foo(int *a)
- {
- *a=10;
- }
- int a;
- foo(&a);
2:
- void foo1 (int &a)
- {
- a=20;
- }
- int a;
- foo(a);
vc2003 debug编译
如果传递的本身就是指针
- int *a;
要改变a指针的地址,可以这样写函数
- void pfoo (int **a)
- {
- *a = (int *)malloc(sizeof(int));
- assert(*a);
- **a = 1;
- }
或者
- void pfoo1 (int *&a)
- {
- a = (int *)malloc(sizeof(int));
- assert(a);
- *a = 5;
- }
- int b=0;
- int *a = NULL;
- a = &b;
- pfoo(&a);
- pfoo1(a);
ok,希望对理解指针,内存的关系有所帮助。