ページ 11

expected expression before ‘{’ tokenがでてきます.

Posted: 2014年6月03日(火) 00:54
by cv
#include<stdio.h>
#define n 10;

typedef struct list
{
int a;
int b;
struct list *next;
}s;

int main(void)
{
s c[0]={0,0,NULL};

return 0;
}

これをコンパイルすると,expected expression before ‘{’ tokenがs c[0]={0,0,NULL};の行にでてきます.どうしたらいいでしょうか.

Re: expected expression before ‘{’ tokenがでてきます.

Posted: 2014年6月03日(火) 00:56
by cv
間違えました
main内,ただしくはこうです.

int main(void)
{
s c[n];
s c[0]={0,0,NULL};

return 0;
}

Re: expected expression before ‘{’ tokenがでてきます.

Posted: 2014年6月03日(火) 04:02
by rascal
おはようございます

コードを投稿する際は

コード:

で区切ってください
またフォーラムルールをお読みください

フォーラムルール

2行目のdefineの行の;はいらないと思います

Re: expected expression before ‘{’ tokenがでてきます.

Posted: 2014年6月03日(火) 07:20
by box
ちなみに
cv さんが書きました:

コード:

    s c[n];
こういう風に定義した後で
cv さんが書きました:

コード:

    s c[0]={0,0,NULL};
こういう風に初期化することはできません。
めんどうですが、

コード:

    c[0].a = 0;
    c[0].b = 0;
    c[0].next = NULL;
とする必要があります。

コード:

    s c[n] = { 0, 0, NULL };
という風に、定義と初期化を同時に行なうことはできます。

Re: expected expression before ‘{’ tokenがでてきます.

Posted: 2014年6月03日(火) 11:25
by cv
boxさんありがとうございます!!おかげさまでうまくいきました!!