黑马程序员技术交流社区

标题: 指针问题 [打印本页]

作者: 丁远帅    时间: 2015-6-8 23:00
标题: 指针问题
void getHeap(int *p){
p=(int *)malloc(sizeof(int)*10);
}
int *p=NULL;
getHeap(p);
p[0]=0;
printf("%d\n",p[0]);
为什么运行会报错呢?嗨指针问题真让人头疼啊:Q
作者: 晗修    时间: 2015-6-8 23:18
这里下面的p一直是null,更加不可能写作p[0]了,
因为这样调用函数 其实还是值传递 只不过这个值是个地址
如果想用地址传递 那么函数声明需要是
void getHeap(int **p)
{
*p=(int *)malloc(sizeof(int)*10);
}
下面的调用函数应该是
getHeap(&p);




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2