C Tricks(三)—— 以一维数组的形式对二维数组赋值
二维数组的本质仍然是一维线性空间(行序优先)。
int mat[3][4];
int *p = (int *)mat;
// 将二维数组转换为一维数组
int r = sizeof(mat)/sizeof(mat[0]);
int c = sizeof(mat[0])/sizeof(mat[0][0]);
int cnt = 0;
for (int i = 0; i < r; ++i)
for (int j = 0; j < c; ++j)
p[i*c + j] = cnt ++;
// i*c ⇒ 行
// +j ⇒ 列
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。