博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言 三级指针的应用
阅读量:6210 次
发布时间:2019-06-21

本文共 2224 字,大约阅读时间需要 7 分钟。

//三级指针的使用#define _CRT_SECURE_NO_WARNINGS#include 
#include
#include
//三级指针做输出int getmun(char ***pout/*out*/,int *num){ int ERRO_MSG = 0; if (pout==NULL) { ERRO_MSG = 1; printf("危险操作内存pout==NULL erro msg:%d", ERRO_MSG); return ERRO_MSG; } if (num == NULL) { ERRO_MSG = 2; printf("危险操作内存num==NULL erro msg:%d", ERRO_MSG); return ERRO_MSG; } int numx = 5; char **ptemp = (char **)malloc(sizeof(char *)*numx); int i = 0; for (i = 0; i < numx; i++) { ptemp[i] = (char *)malloc(sizeof(char)*20); char buf[20] = { 0 }; sprintf(buf, "第%d同志们大家好", i); strcpy(ptemp[i], buf); } *pout = ptemp; *num = numx; return ERRO_MSG;}//打印数组int printfall(char **pin,int num){ int ERRO_MSG= 0, i = 0; if (pin==NULL) { ERRO_MSG = 1; printf("pin==NULL erro msg:%d\n", ERRO_MSG); return ERRO_MSG; } for (i = 0; i < num; i++) { if (pin[i] != NULL) { printf("%s\n", pin[i]); } else{ ERRO_MSG = 2; printf("数据录入错误! erro msg:%d\n", ERRO_MSG); return ERRO_MSG; } } return ERRO_MSG;}//释放堆内存(三级指针做输入)int freeall(char ***pin,int num){ int ERRO_MSG = 0, i = 0; if (pin==NULL) { ERRO_MSG = 1; printf("pin==NULL erro msg:%d\n", ERRO_MSG); return ERRO_MSG; } char **tempp = *pin;//灵性代码,用一个变量接收一下 if (tempp == NULL) { ERRO_MSG = 1; printf("*pin==NULL 二维数组数据不可以为空 erro msg:%d\n", ERRO_MSG); return ERRO_MSG; } for (i = 0; i < num; i++) { if (tempp[i] != NULL) { free((*pin)[i]); tempp[i] = NULL; } else{ ERRO_MSG = 2; printf("*pin==NULL 二维数组数据不可以为空 erro msg:%d\n", ERRO_MSG); return ERRO_MSG; } } free(tempp); tempp = NULL; *pin = NULL; return ERRO_MSG;}void main(){ char **p1 = NULL; int num = 0, i = 0; int rest= getmun(&p1, &num); //打印p1的内容 if (rest==0) { //打印数组 printfall(p1, num); //释放内存 freeall(&p1,num); printf("%p\n", p1); } system("pause");}

 

 

转载地址:http://vkdja.baihongyu.com/

你可能感兴趣的文章
Iptables防火墙规则使用梳理
查看>>
使用FileReader接口读取文件内容
查看>>
Spring_使用XML文件的方式配置事务
查看>>
css 点点加载demo
查看>>
TCP/IP 协议族的简介
查看>>
简单单层bp神经网络
查看>>
eclipse Maven 使用记录 ------ 建立 webapp项目
查看>>
解决Python交叉编译后,键盘方向键乱码的问题
查看>>
idea svn 不见的问题
查看>>
AESDK开发之UI消息响应
查看>>
【ArcGIS for Android】经纬度坐标、地图投影坐标、屏幕坐标互相转换
查看>>
BZOJ4076 : [Wf2014]Maze Reduction
查看>>
iOS学习笔记09-核心动画CoreAnimation
查看>>
直板横打打法,反手转正手时衔接
查看>>
vue-router路径计算问题
查看>>
CvIntHaarClassifier
查看>>
二型错误和功效(Type II Errors and Test Power)
查看>>
赵雅智_Android案例_刮刮乐
查看>>
android中文网站
查看>>
新搭建项目时需要修改的内容
查看>>