#include<stdio.h>
typedef struct student{
int id;
int mark;
}stud;
typedef struct stud *s1;
void main(){
s1 = NULL;
printf("hi");
}
请帮我解释如何将struct指针初始化为NULL。我在编译期间收到以下错误。
graph.c: In function ‘main’:
graph.c:11:04: error: expected identifier or ‘(’ before ‘=’ token
答案 0 :(得分:0)
您的意思是将变量s1
定义为
stud *s1;
您遇到错误的原因是您声明s1
是“指向struct stud的指针”的类型。这有两个原因:
s1
成为某种类型;你希望它成为一个对象。struct student
。但是您定义了一个名为stud
的实际类型。答案 1 :(得分:0)
使用 struct student * s1;
而不是
typedef struct stud * s1;
据我所知,只在定义自定义数据类型时使用typedef。