我正在玩C,无论如何我在想如何将文件指针(指向结构类型),如果为NULL则测试即时:
FILE *cfPtr;
if ( ( cfPtr = fopen( "file.dat", "w" ) ) == NULL )
Run Code Online (Sandbox Code Playgroud)
我试图自己做,但发生错误.
struct foo{
int x;
};
struct foo bar = {0};
if (bar == NULL)
puts("Yay\n");
else
puts("Nay");
Run Code Online (Sandbox Code Playgroud)
错误C2088:'==':结构非法
这是stdio.h文件中的FILE减速:
struct _iobuf {
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE;
Run Code Online (Sandbox Code Playgroud)
Pét*_*rök 10
它应该是一个结构的指针:
struct foo* bar = ...
if (bar == NULL)
puts("Yay\n");
else
puts("Nay");
Run Code Online (Sandbox Code Playgroud)
确实可以测试结构的指针是否为零,就像指向原始类型的指针一样.