分类: 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); } } |