zoukankan      html  css  js  c++  java
  • C语言结构体使用方法

    定义

    关键字:struct

    struct 结构体名

    {
        结构体所包含的变量或数组
    };                             //结尾为分号

    1. struct stu{

    2. char *name;  //姓名

    3. int num;  //学号

    4. int age;  //年龄

    5. char group;  //所在学习小组

    6. float score;  //成绩

    7. };

    定义结构体变量

    既然结构体是一种数据类型,那么就可以用它来定义变量。例如:

    struct stu    stu1, stu2;

    定义了两个变量 stu1 和 stu2,它们都是 stu 类型,都由 5 个成员组成。注意关键字struct不能少。

    stu 就像一个“模板”,定义出来的变量都具有相同的性质。也可以将结构体比作“图纸”,将结构体变量比作“零件”,根据同一张图纸生产出来的零件的特性都是一样的。
    也可定义的同时定义变量

    1. struct stu{

    2. char *name;  //姓名

    3. int num;  //学号

    4. int age;  //年龄

    5. char group;  //所在学习小组

    6. float score;  //成绩

    7. } stu1, stu2;

    理论上讲结构体的各个成员在内存中是连续存储的

    逐一赋值

    1. stu1.name = "Tom";               // 结构体名.成员名=值

    2. stu1.num = 12;

    3. stu1.age = 18;

    4. stu1.group = 'A';

    5. stu1.score = 136.5;

    整体赋值(整体赋值仅限于定义结构体变量的时候,在使用过程中只能对成员逐一赋值,这和数组的赋值非常类似)

    1. struct{

    2. char *name;  //姓名

    3. int num;  //学号

    4. int age;  //年龄

    5. char group;  //所在小组

    6. float score;  //成绩

    7. } stu1, stu2 = { "Tom", 12, 18, 'A', 136.5 };

    结构体数组

    .定义

    1. struct stu{

    2. char *name;  //姓名

    3. int num;  //学号

    4. int age;  //年龄

    5. char group;  //所在小组

    6. float score;  //成绩

    7. }class[5];               //数组名和长度

    .赋值

    1. struct stu{

    2. char *name;  //姓名

    3. int num;  //学号

    4. int age;  //年龄

    5. char group;  //所在小组

    6. float score;  //成绩

    7. }class[5] = {

    8. {"Li ping", 5, 18, 'C', 145.0},

    9. {"Zhang ping", 4, 19, 'A', 130.5},

    10. {"He fang", 1, 18, 'A', 148.5},

    11. {"Cheng ling", 2, 17, 'F', 139.0},

    12. {"Wang ming", 3, 17, 'B', 144.5}

    13. };

    .变量引用和修改

    结构体数组的使用,例如,获取 Wang ming 的成绩:

    class[4].score;

    修改 Li ping 的学习小组:

    class[0].group = 'B';

    生命的意义在于学习,学习让生活变得精彩
  • 相关阅读:
    接口测试的一个正常取值的实例
    接口测试的常见问题
    多接口(增删改查接口)的组合测试流程
    深入理解Java面向对象三大特性 封装 继承 多态
    vue.js入门
    Java,vue.js,jsp for循环的写法
    js的重载
    js的函数作用域
    闭包是什么以及封闭包怎么产生的?
    Leetcode 234. Palindrome Linked List
  • 原文地址:https://www.cnblogs.com/gougouwang/p/11401450.html
Copyright © 2011-2022 走看看