提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
一.结构体概念
在一个组合中包含若干个不同类型的数据项。
struct 结构体类型名
{成员表};
struct Student
{int num;
int age;
char mane[20];
};
二.定义、初始化 结构体变量
定义:
(1)Student student1,student2;
(2)struct 结构体名
{成员表}变量名表;
struct Student
{int num;
int age;
char mane[20];
}students1,student2;
初始化:
struct Student
{int num;
int age;
char mane[20];
}student={20012,18,"zhang"};
或者
Student student1={20012,18,"zhang "};
三.引用结构体变量
结构体变量名.成员名
student1.num=20012;
可以将一个结构体变量的值赋给另一个具有相同结构的结构体变量。student1=student2;
四.用 结构体变量 和 指向结构体变量的指针构成链表
#include<iostream>
using namespace std;
struct student
{
int num;
float score;
struct student*next;
} ;
int main()
{
student a,b,c,*head,*p;
a.num=11;a.score =89;
b.num =12;b.score =90;
c.num =13;c.score =91;
head=&a;//将结点a的起始地址赋予头指针head
a.next=&b;//将结点b的起始地址赋予a结点的next成员
b.next=&c;
c.next=NULL;//结点的next成员不存放其他结点地址
p=head;//使p指针指向a结点
do{
cout<<p->num <<" "<<p->score <<endl;
p=p->next;
}
while (p!=NULL);
return 0;
}
五.用 new 和 delete 运算符进行动态分配和撤销存储空间
new 类型 【初值】
new int;//开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(即指针)
new int(100);//开辟存放一个整数的空间,并指定该整数的初值为100,返回一个指向该存储空间的地址
new int[5][4];//开辟一个存放二维整型数组的空间,返回首元素的地址
delete 指针变量或 delete [] 指针变量
六.用 typedef 声明新的类型名
typedef int INTEGER;//指定用INTEGER代表int类型
对一个结构体类型声明一个新的名字:
typedef struct
{
int month;
int day;
int year;
}DATE;
DATE是新类型名,而不是结构体变量
typedef int NUM[100];//声明NUM为整型数组类型,包含100个元素
NUM n;//定义一个n为包含100个整型元素的数组