把pointer定义未NULL用来以后判断是否初始化
#include <stdio.h>
#include <stdlib.h>
// Some struct
typedef struct{
void *ptr;
int x;
int *y;
}Display;
void CloseDisplay(Display **dpy)
{
*dpy=NULL; // Compiler does not allow that
dpy = NULL; // Correct !
}
/.../
if ( dpy == NULL)
注意代码中
*dpy=NULL;
是错误的,因为*dpy代表的是数据,而不是指针。所以不能用它给指针赋值。