Initialize multidimensional array with zeros

前端 未结 3 1788
时光取名叫无心
时光取名叫无心 2021-01-03 10:15

In C++ you can initialize a one dimensional array with 0 with a code like this:

int myarray[100] = {0};

Is there a similar way for multidim

相关标签:
3条回答
  • 2021-01-03 10:25

    You do it exactly the same way

    int marr[10][10] = {0};
    

    Edit:

    This is a C solution. For a C++ solution you can go for:

    int marr[10][10] = {};
    

    These 2 solutions do not work for arrays that have size defined via variables. e.g.:

    int i, j = 10;
    int marr[i][j];
    

    To initialize such an array in C++ use std::fill.

    0 讨论(0)
  • 2021-01-03 10:32

    A multidimensional array is an array of arrays.

    The same general array initialization syntax applies.

    By the way you can just write {}, no need to put an explicit 0 in there.

    0 讨论(0)
  • 2021-01-03 10:46

    use vector instead of array it will give you more flexibility in declaration and in any other operation

    vector<vector<int> > myarray(rows,vector<int>(columns, initial_value));
    

    you can access them same as you access array,

    and if u still want to use array then use std::fill

    0 讨论(0)
提交回复
热议问题