这是我用来学习指向结构体工作方式的代码。正如你在下面看到的,变量的值s不等于它指向的结构体的地址(&amity),奇怪的 *s是等于它。
我还有一些问题:
为什么所有结构实例(甚至&instance.name)的地址都相同?
虽然s和i和j相同,但为什么 的值*j与*s的*i?
最后,为什么结构体的值仅等于其第一个字段的值?
该代码是从《Head First C》一书中修改而来的。
#include <stdio.h>
typedef struct island {
char *name;
char *open;
char *close;
struct island *next;
} island;
void text(island *s);
int main(void) {
island amity = { "Amity", "09:00", "17:00", NULL };
island craggy = { "Craggy", "09:00", "17:00", NULL };
island isla_nublar = { "Isla Nublar", "09:00", "17:00", NULL }; …Run Code Online (Sandbox Code Playgroud)