C/C++语言参数传递----函数/方法 参数的指针引用传递

时间:2023-03-09 14:17:21
C/C++语言参数传递----函数/方法 参数的指针引用传递
int m_value = 1;
void func(int *p)
{
p = &m_value;
} int main(int argc, char *argv[])
{
int n = 2;
int *pn = &n;
cout << *pn << endl;
func(pn);
cout << *pn <<endl;
return 0;
}

看一下输出结果

2
2

-------其实上面这些例子,看一百次,我个人觉得,也看不出实际意义

#include <stdio.h>
#include <malloc.h>
#include <string.h>

void Allocate(char* p,int size){

printf("\n%x",&p);
printf("\n%x",p);

p=(char*)malloc(size);
}
void Free(char* p){
free(p);
}
void main()
{
char *str=NULL;
printf("\n%X",&str);
printf("\n%X",str);
Allocate(str,100);
strcpy(str,"Hello World!");
printf("\n%s",str);
Free(str);
printf("\nstr=%s",str);

}

------上面的这样的错误案例,才有实际的教学意义!!!

http://www.cnblogs.com/li-peng/p/4116349.html

http://blog.csdn.net/whzhaochao/article/details/12891329  ----经典,用事实说话