为什么要用结构体:在我们对数据进行定义时,对于单个数据我们有int char等数据类型对其进行描述;
对于多个相同类型的数据,我们可以使用数组对其进行描述如int[] char[]等;
但是对于数组,要求数组中的数据类型要一致,可对于那种也是要求放在一组当中的数据,但是各个数据项之间又不是同一种数据类型,这时候用什么数据类型对其进行描述呢,此时就用到了结构体。
概述:结构体是用户自定义的一种数据类型,结构体中可以存放相同或者不同类型的数据。
定义以及初始化:
1、常规定义
strucut node
{
int i;
int k;
float f;
char c;
};
或者定义如下:
struct
{
int i;
int k;
float f;
char c;
}node = {1,2,9.34,‘a’};
2、使用typedef关键字
typedef struct node
{
int i;
int k;
float f;
char c;
}Node;
或者定义如下:
typedef struct
{
int i;
int k;
float f;
char c;
}Node;
结构体使用:
struct pos1
{
int posx;
int posy
};
typedef struct pos
{
int posx;
int posy
}pos2; //pos2就是struct pos的别名
void main()
{
struct pos1 posNode1;
pos2 posNode2;
//访问结构体成员变量使用成员访问操作符(.)
posNode1.posx = 10;
posNode1.posy = 10;
posNode2.posx = 20;
posNode2.posy = 20;
//但是如果是指针变量则必须使用(->)操作符
pos2* posNode3;
posNode3 = &posNode2;
posNode3->posx = 30;
posNode3->posy = 30;
}