结构体定义:结构体里面能定义除自己本身之外的任何数据类型,虽然不能定义自己本身,但能定义自身类型的指针变量。如:
struct node
{
node n; // error 结构体内不能定义自己本身
node *next; // 可以定义自身类型的指针变量
}
访问结构体内元素:
struct node
{
int x;
int info[20];
node *next;
}n1, *n2;
//普通变量访问结构体元素方法('.')
n1.x;
n1.info;
n1.next;
//指针变量访问结构体元素方法('.'或'->')
(*n2).x;
(*n2).info;
(*n2).next;
n2->x;
n2->info;
n2->next;
结构体初始化:
// C语言语法,逐个元素初始化,易理解,缺点是结构体内变量多时赋值麻烦
scanf("%d, %s", &n1.x, n1.info);
#include"stdio.h"
//C++语法,利用构造函数赋初值
struct studentInfo
{
int id;
char gender;
//不初始化就能定义结构体变量
studentInfo(){}
//初始化id和gender
studentInfo(int _id, char _gender)