0
#include<stdio.h>

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

typedef struct stud *s1;

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

構造体ポインタを NULL に初期化する方法を教えてください。コンパイル中に次のエラーが発生します。

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

2 に答える 2

0

構造体学生 *s1を使用します。

それ以外の

typedef struct スタッド *s1;

私の知る限り、typedef は、カスタム データ型を定義する場合にのみ使用されます。

于 2013-01-07T07:00:29.123 に答える
0

変数を次のように定義するつもりでしs1

stud *s1;

ライブデモ: http://ideone.com/9ThCDi

エラーが発生した理由は、s1「構造体スタッドへのポインター」の型であると宣言していたためです。これは 2 つの理由で間違っています。

  1. s1あなたはタイプになりたくありませんでした。あなたはそれをオブジェクトにしたかったのです。
  2. あなたの構造体はstruct student. しかし、あなたは という実際の型を定義しましたstud
于 2013-01-07T05:11:27.073 に答える