结构体

作者: SimpleSJ | 来源:发表于2018-10-30 17:56 被阅读0次

1.什么是结构体

  • 在实际问题中,一组数据往往具有不同的数据类型,而结构体就是用于保存一组不同类型的数据.结构体是一种“构造”而成的数据类型,那么在说明和使用之前必须先定 义它,也就是构造它。

2.为什么要有结构类型?

  • 结构体可以把功能相同的数据组织起来(封装数据),存在一起,用的时候方便
  • 在调用函数时,若 传递参数较多,传一个结构体相对而言简单一些。
  • iOS开发中经常需要使用结构体

3.结构体类型的定义方式

  • 方式一:先定义结构体类型,再定义变量
struct Student {
     char *name;
     int age;
 };
 struct Student stu;
  • 方式二:定义结构体类型的同时定义变量
struct Student {
    char *name;
    int age;
} stu;
  • 方式三:匿名结构体定义结构体变量

第三种方法与第二种方法的区别在于第三种方法中省去了结构名,而直接给出结构变量,这种结构体最大的问题是,不能再次定义新的结构体变量了。

struct {
    char *name;
    int age;
} stu;

4.如何访问结构体变量的成员?

struct Student {
     char *name;
     int age;
 };
 struct Student stu;
 // 访问stu的age成员
 stu.age = 27;
 printf("age = %d", stu.age);

5.结构体变量的初始化

 struct Dog
    {
        char *name;
        int age;
        double height;
    };
    // 1.定义的同时初始化
    struct Dog sd = {"wc", 13, 5.0};

 // 2.先定义再初始化(逐个初始化)
    struct Dog sd1;
    sd1.name = "ww";
    sd1.age = 5;
    sd1.height = 10.9;

    // 3.先定义再初始化(一次性初始化)
    struct Dog sd2;
    // 特别注意: 结构体和数组有一点区别, 数组不能先定义再进行一次性的初始化, 而结构体可以
    // 只不过需要明确的告诉系统{}中是一个结构体
    sd2 = (struct Dog){"xq", 8, 8.8}; // 数组? 结构体?
    
    // 4.指定将数据赋值给指定的属性
    struct Dog sd3 = {.height = 1.77, .name = "ww", .age = 33};

相关文章

  • 结构体

    [toc] 结构体的定义方式 先定义结构体类型,再定义结构体变量 定义结构体类型的同时定义结构体变量 定义结构体类...

  • 【C语言笔记】<十九>结构体

    结构体的基本概念 结构体初始化 结构体的内存存储细节 结构体定义的方式 结构体类型的作用域 指向结构体的指针 结构...

  • C结构体和链表

    一,结构体变量定义及初始化 二,无名结构体 备注:无名结构体很少使用 三,宏定义结构体 四,结构体嵌套 五,结构体...

  • 结构体

    结构体定义* 结构体中的格式:* struch 结构体名* {* 结构体成员变量* }* 结构体中的特点* 1.结...

  • 结构体数组的定义

    结构体数组的定义 1、先定义结构体类型,再定义结构体数组 2、定义结构体类型的同时定义结构体数组 3、省略结构体类...

  • C#结构体,析构方法,跨程序访问

    结构体 结构体定义 结构体的语法格式: struct + 结构体名 { 结构体成员变量(相当于类中的字段) } 结...

  • 结构体

    结构体有名定义 无名定义 结构体嵌套定义 结构体内存对齐 结构体成员初始化 结构体变量引用 结构体的有名定义:直白...

  • 菜鸡学Swift3.0 13.结构体

    结构体 struct 是值类型 1.定义结构体 struct 结构体类型 { var 结构体属性:类型 ...} ...

  • 结构体

    结构体初识 结构体指针 结构体的匿名字段 结构体嵌套 Go语言中的OOP

  • C语言 第九章 结构体

    [TOC] 第九章结构体 结构体的定义 结构体定义2 指针表示结构体

网友评论

      本文标题:结构体

      本文链接:https://www.haomeiwen.com/subject/yhigtqtx.html