传智播客 C/C++学习笔记 多级指针
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>int get_mem(char ***array_p, int num)
{char **array = NULL;int i = 0;array = (char**)malloc(sizeof(char*)* num);//在堆上开辟num个 char*指针if (array == NULL) //判断指针变量是否为空{fprintf(stderr, "malloc char **array error\n");return -1;}memset(array, 0, sizeof(char*)*num);for (i = 0; i < num; i++) {array[i] = (char*)malloc(64);if (array[i] == NULL) {fprintf(stderr, "maloc array[%d] error\n", i);return -1;}memset(array[i], 0, 64);//赋值sprintf(array[i], "%d%d%d%d", 9 - i, 9 - i, 9 - i, 9 - i);}///间接赋值是指针存在的最大意义 ///*是一把钥匙找到一个内存空间赋值即修改其内存空间的值*array_p = array;return 0;
}void free_mem(char ***array_p, int num)
{int i = 0;if (array_p == NULL) {return;}char **array = *array_p;for (i = 0; i < num; i++) {if (array[i] != NULL) {free(array[i]);array[i] = NULL;}}free(array);*array_p = NULL;
}int main(void)
{char **my_array = NULL;int num = 4;get_mem(&my_array, num);printf("-----\n");free_mem(&my_array, num);if (my_array == NULL) {printf("kong\n");}return 0;
}
传智播客 C/C++学习笔记 多级指针相关推荐
- 【传智播客】Libevent学习笔记(三):事件循环
目录 00. 目录 01. event_base_loop函数 02. event_base_dispatch函数 03. event_base_loopexit函数 04. event_base_l ...
- 【传智播客】Libevent学习笔记(四):事件event
目录 00. 目录 01. 事件概述 02. 创建事件 03. 事件的标志 04. 事件持久性 05. 超时事件 06. 信号事件 07. 设置不使用堆分配的事件 08. 事件的未决和非未决 09. ...
- 【传智播客】Libevent学习笔记(一):简介和安装
目录 00. 目录 01. libevent简介 02. Libevent的好处 03. Libevent的安装和测试 04. Libevent成功案例 00. 目录 @ 01. libevent简介 ...
- 传智播客黑马Java学习笔记_day08_2
设计模式:对问题行之有效的解决方式,一种思想,java24种 单例设计模式 解决问题:可以保证一个类的对象在内存中的唯一性 应用场景:多个程序使用同一个配置文件对象,就要保证配置文件的唯一性,配置文件 ...
- 传智播客黑马Java学习笔记_09
在子类创建对象时,发现父类的构造方法也运行了,为什么呢? 在子类的构造函数中第一行有一个隐式语句super(); class Fu{Fu(){System.out.println("Fu i ...
- 传智播客黑马Java学习笔记_day05
遍历数组 class Demo{public static void main(String args[]){int[] arry=new int[]{87,99,56};for(int x=0;x& ...
- 传智播客黑马Java学习笔记_day10_02
对象的多态性 父类或者接口的引用指向子类对象 多态的好处 提高了代码的扩展性,前期的代码可以使用后期的内容 多态的弊端 前期的代码不能调用后期的特有内容 多态的前提 必须有关系:继承.实现 必须覆盖父 ...
- 传智播客 传智播客.NET视频学习课件
传智播客 传智播客.NET视频学习课件 访问.NET网站了解更多课程详情 http://net.itcast.cn (小提示:为什么本书中超链接打不开?) 此套课件是伴随传智播客.net实况教学视频 ...
- 【传智播客郑州校区分享】在传智播客郑州校区学习倍感幸运
小李是传智播客郑州校区的一名学员,他大学学的是土木工程,当初报这个专业是觉得毕业后比较好找工作,然而经历四年的学习后才发现很多事情并不是自己想象的那样,但是刚毕业的小李还是不得不去从事与专业相关的工作 ...
- 感谢传智播客+C#.Net学习之旅
<C#.Net基础学习视频2014版>在本月中旬左右终于学习完了,终于学完了. 自2015年暑期7月份开始学习C#.Net基础学习视频以来,直到本月才学习完 ...
最新文章
- pythonapp下载-python编程狮app下载
- linux开机启动open,树莓派-linux的多种启动自运行方式
- 数字信号处理-C语言数字信号的产生
- Python程序开发——第一章 基本python语法
- 见微知著(一):解析ctf中的pwn--Fast bin里的UAF
- assets目录与res/raw目录下文件的区别
- MATLAB(六)数据处理
- java几种遍历方式以及效率对比
- -ms-flexbox_Flexbox的工作原理-用大尺寸,彩色动画gif进行解释
- VS2015编译程序兼容XP
- 西门子g120变频器接线图_西门子G120变频器参数设置,快速使用
- Astah绘制UML图形
- table表格及属性
- 除了啤酒与尿布 大数据又助电商玩口碑营销
- 64位oracle 和64位 PL/SQL 的配置
- [VUE3]vue2.x中slot-scope插槽在vue3.x中的写法(以elementPlus和AntDesign为例)
- NTKO OFFICE文档控件
- Excel(WPS)使用VBA,不打开文件情况下提取其他工作簿数据
- 深度学习-BP神经网络
- CSSJS弹出层效果,兼容所有浏览器
热门文章
- 中国用量子计算机仿生生物,中国科学技术大学研制一种可持续生物合成仿生多层级太阳能蒸汽发生器...
- Qt C++调用Python,解决线程问题,以及GIL锁的处理
- 小车自动往返工作原理_自动化控制灌溉工作原理
- 鸿蒙2.0手机交互体验,鸿蒙 2.0手机应用开发者Beta,来了!全新交互体验
- 如何用python读取表_Python读取MySQL表数据的方法介绍
- python seaborn 散点图矩阵_Kaggle、Python数据可视化seaborn(四):散点图
- java操作sql数据库_Java连接Sql数据库经常用到的操作
- 东方财富单独下单软件_炒股理财,就选东方财富证券!
- 让vim在utf-8的local下打开 gbk 文件
- gradle下载地址