• c语言结构体数组乱序初始化


    c语言中可以在初始化的时候指定数组索引的内容进行初始化赋值,不需要为每一个数组元素指定内容初始化。这个功能只是在c语言中有效,c++会报错。

    int x[10] = {
        [2] = 1,
        [3] = 2
    };
    

    这里就是为数组x的索引2和索引3指定的元素赋值,也就是把第三个元素赋值为1,第四个元素赋值为2,等价于:

    int x[10];
    x[2] = 1;
    x[3] = 2;
    

    如果是结构体,可以顺便对结构体的内容赋值

    struct MyStruct
    {
        int a;
    };
    struct MyStruct b[] = {
        [10] = {
            .a = 10
        },
    };
    ```这里有一个特殊的就是b没有指定数组的大小,那么就按照初始化指定索引最大值来定,这里索引是10,那么就是11个元素
  • 相关阅读:
    c语言7-4
    c语言 7-4
    dfs
    dfs
    二进制搜索
    BFS
    搜索多层图
    八皇后
    线段树-周长并
    线段树
  • 原文地址:https://www.cnblogs.com/studywithallofyou/p/16706661.html
Copyright © 2020-2023  润新知