美文网首页从汇编到C++
C语言 13 结构体数组

C语言 13 结构体数组

作者: Asura_Luo | 来源:发表于2018-05-04 02:47 被阅读0次

    C语言 13 结构体数组

    结构体数组的定义

    类型 变量名[常量表达式];
    
    //定义结构体类型
    
    struct stStudent
    {
        int Age;
        int Level;
    }
    
    //定义结构体变量
    struct stStudent st;
    
    //定义结构体数组
    struct stStudent arr[10];
    //或者
    stStudent arr[10];
    

    结构体数组初始化

    struct stStudent{
        int Age;
        int Level;
    };
    
    struct stStudent arr[5] = {{0,0},{1,1},{2,2},{3,3},{4,4}};
    
    //或者
    
    arr[0].Age=100;
    arr[0].Level=100;
    

    结构体成员的使用

    格式 :

    结构体数组名[下标].成员名
    
    arr[0].Age = 10;
    

    字符串成员的处理

    struct stStudent{
        int Age;
        char Name[0x20];
    }
    struct stStudent arr[3] = {{0,"张三"},{1,"李四"},{2,"王五"}};
    
    //读
    char buffer[0x20];
    strcpy(buffer,arr[0].Name);
    
    //写
    strcpy(arr[0].Name,"王钢蛋");
    

    结构体数组的内存结构

    struct stStudent{
        int Age;
        char Name[0x20];
    }
    struct stStudent arr[3] = {{0,"张三"},{1,"李四"},{2,"王五"}};
    
    int x = arr[0].Age;
    
    image

    结构体 stStudent 的宽度为 8 + 32 = 40
    我们观察到 结构体数组在内存中是连续存储的

    相关文章

      网友评论

        本文标题:C语言 13 结构体数组

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