• 结构体是一种构造数据类型。
  • 用于把不同类型数据合并成为一个整体
  • 定义:
  • struct 结构体名 { 类型标识符 成员名; 类型标识符 成员名; // 结构体类型定义的时候, //不可以赋初值。 }; // 不要忘记结尾的分号

    结构体的声明:

    struct stu { int num; char name [30]; };

    stu是结构体类型,类型不分配内存,不能赋值,不能运算,不能存取。

    struct stu { int num ; char name[30]; } st1;

    st1 是结构体变量分配内存,可以赋值,存储。

    结构体变量定义的两种形式:

    // 第一种: 直接在类型后面定义 struct stu { int num; char name [20]; } st1; // 不要忘记后面的分号 // 第二种形式: void main () { struct stu st1 ; // 不要忘记声明类型 }

    初始化结构体变量的三种形式:

    //第一种形式: struct stu { int num; char name[20] }st1={ 100 , "sda"}; // 第二种: struct stu st1={1001,"sda"}; //第三种: ; ;sdda"; // 错误 sprintf ;); // 因为字符串是常量,不能被直接赋值

    结构体用大括号赋值,只有在创建并初始化的时候才可以。

    定义匿名结构体变量: 唯一的方法:

    struct { int num; char name [30]; } st1;

    结构体变量的引用:

    结构体变量名 . 成员

    可以将一个结构体变量赋值给另一个结构体变量。但是两个结构体变量类型必须是同一类型

    struct stu { int num; char name[20]; struct chid { int age; char sex; }; }; //结构体内部再次定义一个结构体,但是没有定义实例的时候, //再次定义的结构体内部的变量,会被当作母体结构体变量成员。struct stu { int num; char name[20]; struct chid { int age; char sex; } hha={....}; }st1;

    结构体数组:

    定义:struct student { int num; char name[]; }; struct student stu[] ={ {100,"aaa"}, {101,"asd"}, {102,"asd"} }; struct student stu[] ={ 100,"s",102,"sa",103,"sad"}; // 也可以挨个的赋值。 但是匿名结构体不可以挨个的赋值。

    结构体指针:

    一,定义: struct 结构体名 *结构体指针名 (:存放结构体变量的起始地址) 指向结构体变量数组的指针: struct students { int num; char name[20]; }; struct students stu[3] ={ {100,"aaa"}, {101,"asd"}, {102,"asd"} }; struct students stu *p= stu; 二,引用: 1. 用成员名引用: stu[0].num; stu[i].name 2. 指针引用: *p.num ; *(p+1) .name p->num ; (P+1)-> name 3. 指针循环: for (;p<stu+n;p++) { p->num; p->name; }

    1.《[c中结构体地址如何初始化]结构体初始化为0!》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

    2.《[c中结构体地址如何初始化]结构体初始化为0!》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

    3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/keji/3221130.html