大家好,又见面了,我是全栈君。
二维数组在内存中的分配例如以下:
C方式呈现:
<span style="font-size:18px;">
#include <iostream> using namespace std; #define ROW 3 #define COL 4 void main() { int **p = (int **)malloc(sizeof(int*)*ROW); for(int i=0; i<ROW; ++i) { p[i] = (int *)malloc(sizeof(int) * COL); } for(i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { p[i][j] = i+j; } } for(i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { cout<<p[i][j]<<" "; } cout<<endl; } for(i=0; i<ROW; ++i) { free(p[i]); //delete []p[i] } free(p); //delete []p; }
</span>
C++:
注意这里使用的列优先方式:
<span style="font-size:18px;">
#include<iostream> using namespace std; #define ROW 3 #define COL 4 void main() { int(*p)[COL] = new int[ROW][COL]; for(int i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { p[i][j] = i+j; } } for(i=0; i<ROW; ++i) { for(int j=0; j<COL; ++j) { cout<<p[i][j]<<" "; } cout<<endl; } delete []p; }
</span>
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116522.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...