• 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 
    ",per.name);
        
        
        struct Man{
            char *name;
            int age;
            float score;
        } man;
        printf("man 名字 = %s 
    ",man.name);
        
        
        struct{
            char *name;
            int age;
            float score;
        } wonman;
        printf("wonman 名字 = %s 
    ",wonman.name);
        
        
        struct Person per2 = {"压缩", 12, 59.0};
        printf("per2 名字 = %s 
    ",per2.name);
        
        
        struct Person per3 = {.name = "盲僧", 12, 59.0};
        printf("per3 名字 = %s 
    ",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/
  • 相关阅读:
    QOMO Linux 4.0 正式版发布
    LinkChecker 8.1 发布,网页链接检查
    pgBadger 2.1 发布,PG 日志分析
    Aletheia 0.1.1 发布,HTTP 调试工具
    Teiid 8.2 Beta1 发布,数据虚拟化系统
    zLogFabric 2.2 发布,集中式日志存储系统
    开源电子工作套件 Arduino Start Kit 登场
    Piwik 1.9 发布,网站访问统计系统
    Ruby 1.9.3p286 发布,安全修复版本
    toBraille 1.1.2 发布,Java 盲文库
  • 原文地址:https://www.cnblogs.com/liuw-flexi/p/10307434.html
Copyright © 2020-2023  润新知