C++二级指针第三种内存模型
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void main()
{
int i = , j = ;
char buf[];
char **myarray = (char **)malloc(*sizeof(char*)); //int array[10]
if (myarray == NULL)
{
return;
}
for (i=; i<; i++)
{
myarray[i] = (char *)malloc(*sizeof(char)); //char buf[100];
if (myarray[i] == NULL)
{
printf("ddddde\n");
return;
}
sprintf(myarray[i],"%d%d%d ", i, i, i);
} //第三种内存模型打印
printf("排序之前\n");
for (i=; i<; i++)
{
printf("%s\n", myarray[i]);
} //排序
for (i=; i<; i++)
{
for (j=i+; j<; j++)
{
if (strcmp(myarray[i], myarray[j]) < )
{
strcpy(buf, myarray[i]);
strcpy(myarray[i], myarray[j]);
strcpy(myarray[j], buf);
}
}
} //第三种内存模型打印
printf("排序之后\n");
for (i=; i<; i++)
{
printf("%s\n", myarray[i]);
} for (i=; i<; i++)
{
free(myarray[i] );
}
if (myarray != NULL)
{
free(myarray);
} system("pause");
}
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int printfArr33(char **ArrayStr, int iNum)
{
int i = ;
for (i=; i<iNum; i++)
{
printf("%s \n", ArrayStr[i]);
}
return ;
} int sortArrayStr03(char **ArrayStr, int iNum)
{
int i = , j = ;
char *tmp = NULL;
//排序 for (i=; i<iNum; i++)
{
for (j=i+; j<iNum; j++)
{
if (strcmp(ArrayStr[i],ArrayStr[j]) < )
{
tmp = ArrayStr[i];
ArrayStr[i] = ArrayStr[j];
ArrayStr[j] = tmp;
}
}
}
return ;
} void main()
{
int i = , j = ;
char buf[];
char **myarray = (char **)malloc(*sizeof(char*)); //int array[10]
if (myarray == NULL)
{
return;
}
for (i=; i<; i++)
{
myarray[i] = (char *)malloc(*sizeof(char)); //char buf[100];
if (myarray[i] == NULL)
{
printf("ddddde\n");
return;
}
sprintf(myarray[i],"%d%d%d ", i, i, i);
} //第三种内存模型打印
printf("排序之前\n");
printfArr33(myarray, ); sortArrayStr03(myarray, ); //第三种内存模型打印
printf("排序之后\n");
printfArr33(myarray, ); for (i=; i<; i++)
{
free(myarray[i] );
}
if (myarray != NULL)
{
free(myarray);
} system("pause");
}
C++二级指针第三种内存模型的更多相关文章
- 深入理解C语言-二级指针三种内存模型
二级指针相对于一级指针,显得更难,难在于指针和数组的混合,定义不同类型的二级指针,在使用的时候有着很大的区别 第一种内存模型char *arr[] 若有如下定义 char *arr[] = {&quo ...
- C语言提高 (3) 第三天 二级指针的三种模型 栈上指针数组、栈上二维数组、堆上开辟空间
1 作业讲解 指针间接操作的三个必要条件 两个变量 其中一个是指针 建立关联:用一个指针指向另一个地址 * 简述sizeof和strlen的区别 strlen求字符串长度,字符数组到’\0’就结束 s ...
- C++二级指针第二种内存模型(二维数组)
C++二级指针第二种内存模型(二维数组) 二维数组 二维数组本质上是以数组作为数组元素的数组,即“数组的数组”. 定义 类型说明符 数组名[常量表达式][常量表达式] 例如: float a[3][4 ...
- C++二级指针第一种内存模型(指针数组)
二级指针第一种内存模型(指针数组) 指针的输入特性:在主调函数里面分配内存,在被调用函数里面使用指针的输出特性:在被调用函数里面分配内存,主要是把运算结果甩出来 指针数组 在C语言和C++语言中,数组 ...
- ESPlatform 支持的三种群集模型 —— ESFramework通信框架 4.0 进阶(09)
对于最多几千人同时在线的通信应用,通常使用单台服务器就可以支撑.但是,当同时在线的用户数达到几万.几十万.甚至百万的时候,我们就需要很多的服务器来分担负载.但是,依据什么规则和结构来组织这些服务器,并 ...
- const 指针的三种使用方式
///////////////////////const 指针的三种状态///////////////////// 注意:const 的前后顺序 const 在类型之前 ---可以修改指针包含的地址, ...
- Reactor三种线程模型与Netty线程模型
文中所讲基本都是以非阻塞IO.异步IO为基础.对于阻塞式IO,下面的编程模型几乎都不适用 Reactor三种线程模型 单线程模型 单个线程以非阻塞IO或事件IO处理所有IO事件,包括连接.读.写.异常 ...
- HTTPD三种工作模型
HTTPD三种工作模型 MPM是apache的多道处理模块,用于定义apache对客户端请求的处理方式.在linux中apache常用的三种MPM模型分别是prefork.worker和event. ...
- 6_1 持久化模型与再次加载_探讨(1)_三种持久化模型加载方式以及import_meta_graph方式加载持久化模型会存在的变量管理命名混淆的问题
笔者提交到gitHub上的问题描述地址是:https://github.com/tensorflow/tensorflow/issues/20140 三种持久化模型加载方式的一个小结论 加载持久化模型 ...
随机推荐
- operator 的两种用法
C++,有时它的确是个耐玩的东东,就比如operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换).1.操作符 ...
- Device Path in WinPrefetchView
As we know that the Prefetch file is used for optimizing the loading time of the application in the ...
- Inside The C++ Object Model - 02
前言 - 什么是C++对象模型 C++对象模型包括2个方面的含义: 1.语言中直接支持面向对象程序设计的部分 2.对于各种(面向对象)支持的底层实现机制. 无论是什么语言,都需要转换为汇编.很多面向对 ...
- 在Egret实现二维码长按识别
Egret中二维码图片,是在canvas上,无法在微信上长按扫描识别. 由于微信长按识别二维码是截屏扫描原理,所以只要长按当前屏幕任意一张图片,都能够识别当前屏幕上的二维码. 这里把二维码放在ex ...
- oracle中SQL根据生日日期查询年龄的方法
方法:SELECT Trunc(MONTHS_BETWEEN(SYSDATE,BIRTH_DATE)/12) FROM 某表 Trunc函数在这里对带有小数位数的数字取整数部分: SYSDATE为or ...
- Linux相关文章
1.linux 中特殊符号用法详解 2.linux之vim命令 3.linux各文件夹的作用 4.修改linux文件权限命令:chmod 5.CentOS 6.6下安装配置Tomcat环境 6.lin ...
- 往sql数据库表中添加字段
通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数增加字段: alter table [表名] add 字段名 smallin ...
- GUI开发者桌面搜索文件工具
# - *- coding:utf-8-*-from Tkinter import *import tkMessageBoximport tkFileDialogimport osimport fnm ...
- MapGIS6.7安装图文教程(完美破解)
mapgis安装比较简单,主要注意在安装的时候,先打开软件狗,然后再进行软件安装,一般就不会照成其他安装失败的现象,有时候安装之前没有打开软件狗也安装成功了,也有这情况,不过软件使用也需要软件狗的支持 ...
- WordPress主机