预期'=',';'..之前 - >代币

时间:2016-02-13 13:00:49

标签: c pointers

以下部分代码未编译:

struct Node {
    int data;
    struct Node *next;
}
struct Node head;
head->next = NULL;

错误消息说: 错误:在' - >'之前预期'=',',',';','asm'或'attrivute'代币   head-> next = NUL;

5 个答案:

答案 0 :(得分:1)

由于head是结构而不是指针,您可以使用.访问元素:

head.next = NULL;

答案 1 :(得分:1)

头部不是指针。使用'。':

head.next = NULL;

答案 2 :(得分:1)

结构定义后错误不是分号:

struct Node {
    int data;
    struct Node *next;
} ;   /* <==== here */

答案 3 :(得分:0)

除此之外,您应该使用点来访问成员,似乎您将可执行代码放在声明部分中。 head.next = NULL;必须在函数内。

答案 4 :(得分:0)

您应该使用.而不是->,并且要小心文件范围,您的可执行代码应该在函数内。

尝试:

#include<stdio.h>

struct Node {
    int data;
    struct Node *next;
}; //Remember the ;

int main(){
    struct Node head;
    head.next = NULL;

    //...

    return 0;
}

或者:

#include<stdio.h>

struct Node {
    int data;
    struct Node *next;
}; //Remember the ;

struct Node head;

int main(){
    head.next = NULL;

    //...

    return 0;
}