静态二维数组和动态二维数组(C语言)
1、理解什么是静态二维数组和动态二维数组
静态二维数组:可以理解为程序中如下定义的数组(定义一个3行4列的静态二维数组)
int [3][4] = {{1,1,1,1}, {2,2,2,2}, {4,4,4,4}};
动态二维数组:可以理解为程序中如下定义的数组(定义一个3行4列的动态二维数组)
#include<stdio.h> #include<stdlib.h> #define ROWS 3 #define COLS 4 int main(int argc, char *argv[]) { int **ppi = NULL; //定义整形二维数组指针变量 int i; ppi = (int **)malloc( ROWS * sizeof(int));//为3行4列动态二维数组每行的首地址分配内存 for (i=0; i<ROWS; i++) { ppi[i] = (int *)malloc( COLS * sizeof(int));//为3行4列动态二维数组每行分配内存 ppi[i][0] = i; ppi[i][1] = i; ppi[i][2] = i; ppi[i][3] = i; } for (i=0; i<ROWS; i++) { printf("第%d行:%d ", i, ppi[i][0]); printf("%d ", i, ppi[i][1]); printf("%d ", i, ppi[i][2]); printf("%d ", i, ppi[i][3]); } return 0; }
2、静态二维数组内存布局
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: java中获取二维数组的行数和列数
- 下一篇: C++中动态申请二维数组并释放方法
copyright © 2008-2019 亿联网络 版权所有 备案号:粤ICP备14031511号-2