动态申请二维数组(二)
来源:互联网 发布:linux log4j 中文乱码 编辑:程序博客网 时间:2024/05/29 17:41
//C语言中动态的申请二维数组 malloc free#include <stdio.h>#include <stdlib.h>#include <string.h>//动态申请二维数组int **malloc_Array2D(int row, int col){ int size = sizeof(int); int point_size = sizeof(int*); //先申请内存,其中point_size * row表示存放row个行指针 int **arr = (int **) malloc(point_size * row + size * row * col); if (arr != NULL) { memset(arr, 0, point_size * row + size * row * col); T *head = (T*)((int)arr + point_size * row); while (row--) arr[row] = (int*)((int)head + row * col * size); } return arr;}//释放二维数组void free_Aarray2D(void **arr){ if (arr != NULL) free(arr);}int main(){ printf(" C语言中动态的申请二维数组 malloc free\n"); printf(" -- by MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n"); printf("请输入行列(以空格分开): "); int nRow, nCol; scanf("%d %d", &nRow, &nCol); //动态申请连续的二维数组 int **p = malloc_Array2D(nRow, nCol); //为二维数组赋值 int i, j; for (i = 0; i < nRow; i++) for (j = 0; j < nCol; j++) p[i][j] = i + j; //输出二维数组 for (i = 0; i < nRow; i++) { for (j = 0; j < nCol; j++) printf("%4d ", p[i][j]); putchar('\n'); } free_Aarray2D((void**)p); return 0;}
0 0
- 动态申请二维数组(二)
- 动态申请二维数组。
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组
- 申请动态二维数组
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组
- 动态申请二维数组(一)
- 动态申请二维数组方法
- C++申请动态二维数组
- C++动态申请二维数组
- 转载 sap FI-CO总账科目简析
- .net 未知的服务器标记错误
- 动态内存管理详解:malloc/free/new/delete/brk/mmap(介绍的很明白)
- 关于cocos2d移植到Android上Android.mk需要手动增加cpp文件的问题
- C#windows窗体根据默认浏览器打开网页
- 动态申请二维数组(二)
- poj1269
- Android设计为不同的屏幕开发教程
- Xcode5 SVN
- IOS的底层视频捕获接口
- poj3304
- MIPI DSI协议介绍 .
- liferay6.1之在portal-ext.properties中定义常量
- 程序函数与数学函数概念的区别