Chinaunix首页 | 论坛 | 博客
  • 博客访问: 127373
  • 博文数量: 33
  • 博客积分: 948
  • 博客等级: 准尉
  • 技术积分: 380
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-19 20:47
文章分类

全部博文(33)

文章存档

2012年(2)

2011年(30)

2010年(1)

分类: LINUX

2011-12-02 11:21:58

理解指向指针的指针做函数参数

void XMalloc(char *s)
{
s = (char *) malloc(100);
}

void main(void)
{
char *p = NULL;
XMalloc(p); //这里的p实际还是NULL,p的值没有改变,为什么?
if (p) {
free(p);
}
}


void XMalloc(char **s)
{
*s = (char *) malloc(100);
}

void main(void)
{
char *p = NULL;
XMalloc(&p);  // 这里的p可以得到正确的值了  
if (p) {
free(p);
}
}


阅读(1528) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~