C语言的结构体的具体作用是?
在实际问题中,一组数据往往具有不同的数据类型。例如,在学生登记表中,姓名应为字符型;学号可为整型或字符型;年龄应为整型;性别应为字符型;成绩可为整型或实型。显然不能用一个数组来存放这一组数据。因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构(structure)”或叫“结构体”。 它相当于其它高级语言中的记录。“结构”是一种构造类型,它是由若干“成员”组成的。每一个成员可以是一个基本数据类型或者又是一个构造类型。结构既是一种“构造”而成的数据类型,那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义函数一样。
让编程序的人自定义一个数据类型。
//
// main.c
// 结构体
//
// Created by udc on 2021/7/12.
/*
1. 什么是结构体?
结构体和数组很像,都是用于存储一组数据的
但是数组存储的是一组相同类型的数据
结构体存储的是一组不通过类型的数据
2. 如何定义结构体
struct 结构体名称{
数据类型 属性名称;
数据类型 属性名称;
...
};
3. 如何定义结构体变量
3.1. struct 结构体名称 结构体变量名称;
3.2. 直接在定义结构体后面定义结构体变量
3.3. 直接在定义结构体后面定义结构体变量,不要结构体名称
4. 初始化
4.1. 定义变量时初始化, 注意对应
4.2. 指定属性,一一赋值
5. 结构体和数组的区别?
6. 结构体作用域也分全局和局部
7. 结构体的存储细节
*/
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
struct Person{
char *name;
int age;
float score;
};
struct Person per;
per.name = "疾风剑豪";
printf("per 名字 = %s \n",per.name);
struct Man{
char *name;
int age;
float score;
} man;
printf("man 名字 = %s \n",man.name);
struct{
char *name;
int age;
float score;
} wonman;
printf("wonman 名字 = %s \n",wonman.name);
struct Person per2 = {"压缩", 12, 59.0};
printf("per2 名字 = %s \n",per2.name);
struct Person per3 = {.name = "盲僧", 12, 59.0};
printf("per3 名字 = %s \n",per3.name);
//数组不能先定义,再一次性初始化,但是结构体可以, 需要强制类型转换
// int arr[3];
// arr = {1,2,3};
struct Animal{
char *name;
int age;
};
struct Animal ani;
ani = (struct Animal){"Dog", 5};
return 0;
}
此文仅为鄙人学习笔记之用,朋友你来了,如有不明白或者建议又或者想给我指点一二,请私信我。liuw_flexi@163.com/QQ群:582039935.
我的gitHub: (学习代码都在gitHub)
https://github.com/nwgdegitHub/

浙公网安备 33010602011771号