-2
struct place 

{

    char name[80+1];
    double latitude;
    double longitude;
};

struct node

{

    struct place city;
    struct node *next;

};

struct node *head;


head
head -> city
head -> next
head -> city -> name
head -> next ->city.name

这些任务总是让我在考试中失分,有好心人解释一下吗?它询问提到的变量是什么类型,我猜像这样的东西head只是指向整个结构值的指针node

4

1 回答 1

1

在后面的片段中,

head -> city -> name

错了,因为,city不是指针类型。您需要使用点运算符 ( .) 来访问非指针结构变量的成员。就像您使用它的方式一样

head -> next ->city.name

除此之外,在语法上,这些片段看起来很好。

只是补充一点,作为基本的理智,您应该NULL在取消引用之前检查指针的非性,以避免调用未定义的行为

于 2016-06-06T13:26:58.650 回答