2013-01-07 51 views
0
#include<stdio.h> 

typedef struct student{ 
int id; 
int mark; 
}stud; 

typedef struct stud *s1; 

void main(){ 
s1 = NULL; 
printf("hi"); 
} 

請幫助我如何將結構指針初始化爲NULL。編譯期間出現以下錯誤。將typedef結構指針初始化爲NULL

graph.c: In function ‘main’: 
graph.c:11:04: error: expected identifier or ‘(’ before ‘=’ token 

回答

0

你的意思定義變量s1

stud *s1; 

現場演示:http://ideone.com/9ThCDi

你有你做了錯誤的原因是,你被宣佈s1成爲「一類指向結構螺柱的指針「。這是錯誤的,原因有兩個:

  1. 您不希望s1是一個類型;你希望它成爲一個對象。
  2. 您的結構是struct student。但是您定義了一個名爲stud的實際類型。
0

使用struct student * s1;

代替

typedef結構螺柱* S1;

就我所知,typedef僅用於定義自定義數據類型。