C ++ / C ------一次元アレイの二次元アレイ

初期化

int a[3][3];//方式1
int b[][3];//方式2

メモリを取ります

int  Memory_usage = sizeof(a);//Memory_usage 为数组占用的内存空间
int  Single_usage = sizeof(a[0][0]);//Single_usage 为一个元素占用的内存空间

2次元配列の配列を回し

方法1:

#include <iostream>
using namespace std;

int a[3][3] = {1,2,3,4,5,6,7,8,9};

int main()
{
    int row = sizeof(a) / sizeof(a[0]);//行数
    int col = sizeof(a[0]) / sizeof(a[0][0]);//列数

    int b[row*col];
    int cnt=0;
    for(int i = 0; i < row; i++)
    {
        for(int j = 0; j<col; j++)
        {
            b[cnt]=a[i][j];
            cnt++;
        }
    }

    for(int k = 0;k < cnt; k++)
    {
        cout<<b[k]<<" ";
    }
    return 0;
}

方法2:

#include <iostream>
using namespace std;

int a[3][3] = {1,2,3,4,5,6,7,8,9};

int main()
{
    int row = sizeof(a) / sizeof(a[0]);//行数
    int col = sizeof(a[0]) / sizeof(a[0][0]);//列数
    int * p = a[0];

    for(int i = 0; i < row * col; i++)
    {
        cout<<*p++<<endl;
    }

    return 0;
}
公開された14元の記事 ウォン称賛30 ビュー8736

おすすめ

転載: blog.csdn.net/weixin_43086497/article/details/104848859