struct的定义与初始化
//定义方法一(先定义,后初始化):
struct Book{
char name[20];
int id;
};
//初始化
Book book={"bookName",15}
//定义方法二(定义的同时初始化):
struct Book{
char name[30];
int id;
}book={"bookName",15};
//方法二不写Book也可以
typedef与struct结合
写法一:
typedef struct Book{
int id;
}Book;
初始化方法:
一、用重新定义的名字
Book book;
二、用原始方法
struct Book book
写法二:
typedef struct {
int id;
}Book;
初始化方法:
仅能使用方法一:
Book book;
当定义的结构体名字加上*时
例如:
typedef struct LNode {
ElemType data;
struct LNode *next;
}LNode,*LinkList; //LinkList为LNode类型的指针
分别初始化:
//这两种的数据类型不同
LNode node; // 自己定义的数据类型
LinkList list; // 自己定义的数据类型的指针 就等于LNode *node; LinkList *list 就相当于二重指针
//区别在于调属性时候的写法
node.data = 1;//正确写法且只有这一种写法
list->data=1;//正确写法
(*list).data=1;//正确写法
list.data=1;//错误写法