三级指针打造自己的二维数组
来源:互联网 发布:移动高速网络速度 编辑:程序博客网 时间:2024/06/05 19:42
#include <stdio.h>#include <stdlib.h>#include <string.h>int getMemory(char ***myPointer,int num,int dem){char **tmp = (char**)(malloc)(num*sizeof(char*));for (int i = 0; i < num; i++){tmp[i] = (char*)malloc(dem * sizeof(char));}*myPointer = tmp;return 0;}//该版本的有悬垂指针的问题int freeMemeory(char **q, int num){if (q == NULL){return -1;}for (int i = 0; i < num; i++){free(q[i]);}free(q);q = NULL;//垃圾代码,不能修改实参的值}int freeMemeoryReal(char ***q, int num){if (q == NULL){return -1;}char **p = *q;for (int i = 0; i < num; i++){free((*q)[i]);}free(*q);*q = NULL;}void main(){#if 0char c = 49;char *p = &c;char **q = &p;**q = 50;printf("%c\n", *p);#endifint inum = 10;int idem = 128;char **p = NULL;getMemory(&p, inum, idem);char *buf = "hello world";for (int i = 0; i < inum; i++){memcpy(p[i], buf, strlen(buf)+1);}for (int i = 0; i < inum; i++){printf("%s\n",p[i]);}//freeMemeory(p, inum);freeMemeoryReal(&p, inum);}
0 0
- 三级指针打造自己的二维数组
- 数组指针,指针数组,二维数组,二维数组的指针
- 二维数组的指针
- 二维数组的指针
- 二维数组的指针
- 二维数组的指针
- 二维数组的指针
- ******二维数组&指针的指针******
- 二维数组 指向二维数组的指针 指针数组 指向二维数组的指针数组
- 二维数组的指针与指针数组
- 二维数组和二维指针的关系
- 二维指针和二维数组的关系
- 二维指针和二维数组的区别
- 二维数组和二维指针的关系
- 自己实现的二维数组
- 二维数组,指针的讨论
- 指针 二维数组的问题
- 指向二维数组的指针
- JavaBean 和内省
- 2016.2.11-2.12 HDU ACM steps
- Mesos:数据中心细粒度的资源共享平台
- Java核心技术(第8版)学习笔记_Java程序设计环境
- MIC C编程(offload模式)
- 三级指针打造自己的二维数组
- JAVA 正则表达式总结
- 4、ensemble组合方法
- HDOJ 1205 吃糖果
- 扩展的以太网
- C# 正则表达式总结
- 社会化编程
- QT学习一:菜单
- android 访问MediaStore基础