c++ 一维数组与二维数组的转换

论坛 期权论坛 脚本     
匿名技术用户   2021-1-6 06:56   16   0
#include <iostream>

using namespace std;

#define COL 4
#define ROW 3

int main(int argc, char *argv[]) {
    unsigned char m[12] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'm'};
    unsigned char n[COL][ROW];
    for(int i=0;i<COL;i++){
        for(int j=0;j<ROW;j++){
            n[i][j] = m[i*ROW+j];
        }
    }

    for(int i=0;i<COL;i++){
        for(int j=0;j<ROW;j++){
            cout<<"n["<<i<<"]["<<j<<"]="<<n[i][j]<<"  ";
        }
        cout<<endl;
    }

    unsigned char *p = (unsigned char *)n;
    for(int i=0;i<COL*ROW;i++){
        cout<<p[i]<<" ";
    }
    cout<<endl;


    return 0;
}

运行结果:

n[0][0]=a n[0][1]=b n[0][2]=c

n[1][0]=d n[1][1]=e n[1][2]=f

n[2][0]=g n[2][1]=h n[2][2]=i

n[3][0]=j n[3][1]=k n[3][2]=m

a b c d e f g h i j k m

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP