二级指针作输入之内存模型三
2016-04-01 21:46
375 查看
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> //堆上分配一个二维空间并拷贝数据 char **getMem(int n) { int i = 0; char **buf = (char **)malloc(n * sizeof(char *)); //char *buf[3] if (buf == NULL) { return NULL; } for (i = 0; i < n; i++) { buf[i] = (char *)malloc(30 * sizeof(char)); char str[30]; sprintf(str, "test%d%d", i, i); strcpy(buf[i], str); } return buf; } //打印API void print_buf(char **buf, int n) { int i = 0; for (i = 0; i < n; i++) { printf("%s, ", buf[i]); } printf("\n"); } //释放API void free_buf(char **buf, int n) { int i = 0; for (i = 0; i < n; i++) { free(buf[i]); buf[i] = NULL; } if (buf != NULL) { free(buf); buf = NULL; } } int main(void) { char **buf = NULL; int n = 3; buf = getMem(n); if (buf == NULL) { printf("getMem err\n"); return -1; } print_buf(buf, n); free_buf(buf, n); buf = NULL; printf("\n"); system("pause"); return 0; }
相关文章推荐
- 安装Apache服务器
- CodeForces 659C Tanya and Toys(贪心)
- Spring学习笔记(2)-Spring中bean的生命周期
- 小代码
- 1015—P
- Django视图和网址
- 《算法(第四版)》排序-----模板
- 多态的实现
- 内联函数
- SVM
- LeetCode Algorithms #26 <Remove Duplicates from Sorted Array>
- Java集合类之LinkedList链表
- js对Table表格的操作
- 多态的典型例子(向上转型)
- 第5周项目1 三角形5(复制构造函数)
- [译]学习IPython进行交互式计算和数据可视化(七)
- 一些特别有趣的C++面试题(持续更新中)
- 2007-2008 Winter Petrozavodsk Camp, Andrew Stankevich Contest 30-E - New Mayors - 二分图染色 (BFS+DFS)
- CodeForces 659B Qualifying Contest
- 对象的创建,访问类中的属性和方法