zoukankan      html  css  js  c++  java
  • C结构体struct用法小结

    结构体和int,float等类型一样是一种常用的类型,它是由各种基本数据类型构成,通常包含有struct关键字,结构体名,结构体成员,结构体变量。

    一.结构体定义


    通常有3种定义方式,以例子方式表示:

    1. 含有结构体名和结构体变量

    struct student{
        char name[20];
        int age;
        float height;
    }xiaoming;

    2.含有结构体名,无结构体变量

    struct student{
        char name[20];
        int age;
        float height;
    };

    之后便可以这个结构体去定义变量

     struct student xiaoming; 

    3.无结构体名,有结构体变量

    struct{
        char name[20];
        int age;
        float height;
    }xiaoming;

    二.结构体使用

    1.结构体成员表示

    表示为:
    结构变量.结构体成员
    例如:xiaoming.name

    2.结构体赋值
    例如:  xiaoming.age = 18; 
    也可以整体赋值:
     struct student xiaoming = {"xiaoming",18,175}; 

    三.结构体数组

    struct student{
        char name[20];
        int age;
        float height;
    }stu[50];

    这样就定义了一个结构体数组,相当于定义了一个数组,每个数组元素都是一个结构体

    例如 stu[0].name

    stu[0]是一个结构体,name是它的结构体成员

    四.结构体指针

    struct student{
        char name[20];
        int age;
        float height;
    }*stu;

    stu是一个结构体指针,通过形如stu->age的方式访问成员

    stu->age相当于(*stu).age
    值得一提的是,结构指针是指向结构的一个指针, 即结构中第一个成员的首地
    址, 因此在使用之前应该对结构指针初始化, 即分配整个结构长度的字节空间
    例如:
     student=(struct string*)malloc(size of (struct string)); 
    五.结构体嵌套
    即结构体中含有结构体

    struct family{
        char address[20];
        int people_num;
    }fy;
    struct student{
        char name[20];
        int age;
        float height;
        struct family fy;
    }xiaoming;

    可通过xiaoming.fy.people_num = 3;赋值

    参考资料:http://blog.csdn.net/tuoguang/article/details/46928481

  • 相关阅读:
    HDU4529 郑厂长系列故事——N骑士问题 —— 状压DP
    POJ1185 炮兵阵地 —— 状压DP
    BZOJ1415 聪聪和可可 —— 期望 记忆化搜索
    TopCoder SRM420 Div1 RedIsGood —— 期望
    LightOJ
    LightOJ
    后缀数组小结
    URAL
    POJ3581 Sequence —— 后缀数组
    hdu 5269 ZYB loves Xor I
  • 原文地址:https://www.cnblogs.com/jiduxia/p/7569561.html
Copyright © 2011-2022 走看看