关于结构体的小知识
(1)什么是结构体
把多种基本数据类型组合在一起,从而形成一个新的复合数据类型。
举例:
struct student
{
int age;
char sex;
float score;
};
//上述部分为结构体
struct student ZhangShan = {18,'m', 120};
//struct student为数据类型,ZhangShan为变量名
(2)结构体变量的运算
结构体变量不能加减乘除,只能相互赋值。
(3)为什么需要结构体
为了解决一些复杂的问题,而基本的数据类型无法满足我们的需要。
结构体的定义和赋值
//第一种方法
#include <stdio.h>
struct student
{
int age;
char sex;
float score;
};
int main (void)
{
struct student ZhangShan = {18, 'm', 120};
}
注意:定义的同时可以整体赋值,而定义之后,只能一个个赋值
//第二种方法
#include <stdio.h>
struct student
{
int age;
char sex;
float score;
};
int main (void)
{
struct student ZhongShan;
ZhongShan.age = 18;
ZhongShan.sex = 'm';
ZhongShan.score = 120;
}
//第三种方法
#include <stdio.h>
struct student
{
int age;
char sex;
float score;
};
int main (void)
{
struct student ZhangShan;
struct student* pZhangShan = &ZhangShan;
pZhangShan->age = 18;
pZhangShan->sex = 'm';
pZhangShan->score = 120;
}
如何取出结构体变量的成员
方法一:结构体变量名.成员名
方法二:指针变量名->成员名
举例:
#include <stdio.h>
struct student
{
int age;
char sex;
float score;
};
int main (void)
{
struct student ZhangShan = {18, 'm', 120};
struct student* pZhangShan = &ZhangShan;
printf ("%d\n", ZhangShan.age);
printf ("%c\n", pZhangShan->sex);
printf ("%f\n", pZhangShan->score);
}
/*结果:18
m
120.000000
*/