前言
欢迎来到我的博客
个人主页:北岭敲键盘的荒漠猫-CSDN博客
结构体概念简介
c语言数组是一些相同类型的数据的集合。
这个结构体就是一些可以是不同类型的集合。
比如描述班里的一个人,他可能需要名字(字符串),也需要年龄(整数)。
这种情况就需要用结构体。
结构体的定义
先声明,再定义
定义语法:
struct [结构体名称]{
数据;
数据;
数据;
};
案例演示:
#include <stdio.h>
int main(void)
{
struct student_info
{
char name[20];
int age;
int score;
};
struct student_info info = {"张三", 19, 100};
printf("%s\n", info.name);
info.age = 20;
printf("%d\n", info.age);
}
同时声明和定义
定义语法:
#include <stdio.h>
#include <string.h>
struct student_info
{
char name[20];
int age;
int score;
} info;
int main(void)
{
strcpy(info.name, "张三");
puts(info.name);
info.age = 20;
printf("%d\n", info.age);
}
结果演示:
typedef结构体起别名
typedef的用法
语法:
#include <stdio.h>
typedef int A;
int main(void)
{
A num = 1;
printf("%d", num);
}
结果
描述:
就是我们定义这个typedef int A;。
他的意思就是可以用A来表示int。
那么下面A num就相当于int num。
typedef结构体起名
或者我们换一下思路。
我们把int换成结构体,那么不就实现了给结构体换名了吗?
语法:
typedef struct 结构体名
{
数据
数据
} 新名称;
案例演示:
#include <stdio.h>
typedef struct sutdent
{
int age;
int score;
} student_info;
int main(void)
{
student_info zhangsan;
zhangsan.age = 18;
zhangsan.score = 100;
printf("%d", zhangsan.age);
}
结构体数组
描述:就是结构体中的数据类型是数组。
案例演示:
这是用数组作为结构体数据的写法案例。
#include <stdio.h>
#include <string.h>
struct class_score
{
char name[20][10];
int age[20];
};
int main(void)
{
int a;
struct class_score one_class = {{"张三", "李四", "王二麻"}, {18, 19, 19}};
for (int i = 0; i <= 5; i++)
{
printf("姓名:");
puts(one_class.name[i]);
printf("年龄:%d\n", one_class.age[i]);
}
}
结果如下: