<复习>数据结构中的结构体

这些天自学了下数据结构= =,感觉C掌握的就是渣啊,所以复习一下。

1.结构体

1.1结构体的定义:结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。

用自己的话来说就是根据需求,包括了一系列的数据类型产生新的一种数据类型。

常见的列子就是:学生信息管理系统。学生是一种自己定义的包括了学号,姓名,身高,体重等等信息的数据类型。

1.2结构体的用法:

1.2.1结构体声明:

最基本方法:

<span style="font-size:18px;">/*
**struct 是结构体关键字
** student 是结构体名称(标签)
**string和name 是结构体成员
** kaka 是声明的一个结构体变量 
*/ 
struct student{
	string name;
	int age;
} kaka; </span>

当然还可以以下的方法:

<span style="font-size:18px;">**struct 是结构体关键字
** student 是结构体名称(标签)
**string和name 是结构体成员
** kaka 是声明的一个结构体变量 
*/ 
struct student{
	string name;
	int age;
} kaka; 

/*
**没有定义结构体名称 
**kaka是声明的结构体变量 
*/
struct{
	string name;
	int age;
} kaka; 

/*
**定义时没有声明结构体变量 
**需要使用时 student kaka,messi; 
*/
struct student{
	string name;
	int age;
} ;

student kaka,messi; 

/*
**用法同上 
*/ 
typedef struct{
	string name;
	int age;
} student;
student kaka, messi; </span>
另外,结构体的成员可以包含其他结构体,也可以包含指向自己结构体类型的指针

<span style="font-size:18px;">/* 
**LNode结构体包括了Book结构体和指向LNode类型的指针
**  *LinkList为指向当前结构体的指针 
*/
struct Book {
	string id;  
	string name;
	double price;
};
typedef struct LNode {
	Book data;
	struct LNode *next;
} LNode, *LinkList;</span>
1.2.2对结构体的操作

对以上的单链表进行举例

比如建立一个新链表,操作方法是:

<span style="font-size:18px;">int InitList_L(LinkList &L) {
	L = new LNode;
	L->next = NULL;
	return OK;
}</span>
函数名中声明了一个类型为LNoded的指针L,使用L= new LNode分配内存空间

L指针上的结构体指向的指针为空

<span style="font-size:18px;">cout << left << setw(15) << p->data.id << "\t" << left << setw(
					50) << p->data.name << "\t" << left << setw(5)
					<< p->data.price << endl;</span>
这句话中的p为指针,所以访问结构体时用的是->,而data为结构体,访问时用data.id

附几个跟着郝斌写的几个例子见http://blog.csdn.net/u012348655/article/details/47073021

你可能感兴趣的:(数据结构,结构体,数据结构中的结构体)