C语言之结构体基础----防备忘
1.结构体定义
typedef struct 结构体名
{
基本类型
}结构体替换名;
结构体替换名 变量1,变量2;
eg:
typedef struct student
{
int obj[5];
char toa;
}stu;
stu obj1,obj2;
2.结构体嵌套
typedef struct 结构体名1
{
基本类型
}结构体替换名1;
typedef struct 结构体名2
{
基本类型
结构体替换名1 变量名; //嵌套
}结构体替换名2;
eg:
typedef struct student
{
int obj[5];
char toa;
}stu;
typedef struct Node
{
int obj;
stu toa[2]; //嵌套
}LNode;
3.结构体指针
eg:
typedef struct tagNode
{
char *pItem;
int total;
}pNode;
pNode *obj;
4.结构体自身嵌套
typedef struct Node
{
int data;
struct Node *next;
}*LNode; //单链表定义的结构体类型,自身嵌套自身
5.结构体数组
typedef struct student
{
int obj[5];
char toa;
}stu,*point;
stu obj[5];
point=obj; //则 point+2=&obj[2]
6.结构体作为形参【类比基本数据类型】
stu obj;
void fun(stu toa);
调用fun(obj);
stu obj
void fun(stu *toa);
调用fun(&obj);
stu obj[5];
void fun(stu *toa); / void fun(stu toa[]);
调用fun(obj); / fun(obj);