/*
结构体:
1.结构体的作用就是为了保存数据类型不一样的数组。便于去管理每一个对象的数据。结构体的类型需要我们自己去创建。
2.结构就就是一种数据类型,和int char ,double,float一样。只不过是我们根据自己需求创建。创建方法有很多种,
只要记住最常见的:
在定义的时候就初始化:
struct Student {
char *name;
int age;
double score;
} Xiaoming={"xiaoming",23,98};
注意:1.数据类型是:struct Student,变量名是people。
2.结构体名单词开头字母要大写。
3.因为结构体也是一直数据类型,所以我们也可以批量定义,如int a,b,c;
4.结构体一般是给所有函数用的,所以一般不定义在函数内部。直接定义在头部,供所有函数使用!
3.输出的格式是: 变量名.元素名
printf("%s,%d,%.2lf\n",Xiaoming.name,Xiaoming.age,Xiaoming.score);
结构体数组:
1.有多个相同数据类型(同一个结构体内心)的对象,这时候就要用到结构体数组,数组中的每一个元素就是一个结构体。
2.结构体数组的赋值方法:
同样只要记最常见的赋值方法就好:
structure Student arr[5]={
{“小明”,24,89},
{“jack”,24,89},
{"rose”,24,89},
{"小强”,24,89},
{“小花”,24,89},
}
3.输出结构体数组中的数据:
输出结构体数组中的的一组数据:
printf("%s,%d,%.2lf",arr[0].name,arr[0].age,arr[0].score);
输出结构体数组中每组的数据:
1)求出数组的长度(元素的个数)。int len=sizeof(数组名)/sizeof(struct 结构体名)!不要忘了struct
2)用长度来做for循环,遍历输出每组元素。
4.结构体和指针
1)指针的目的就是在函数中可以间接的去改结构体中的值。要想用指针,就要先声明该类型的指针。
语法结构:
struct student *p=&people;
作用:声明一个struct student 类型的指针,同时将结构体people的地址取出来给到该指针。
2)完成指针的声明后,就要用该指针了。可以通过指针来改变结果体中的值了。
语法结构:
同样只记最常见的方法。指针名→age=26;将结构体people中的元素age的值改成26.
5.结构体的嵌套。
结构体中的元素还是一个结构体。声明两个结构体,其中一个结构体以元素的形式,写在另一个结构体中。
语法结构:
sttuct people{
char *name;
int age;
double score;
struct birthday Date;
}
输出格式是:
变量名1.name 或 变量名1.变量名2.month
|
|