设为首页 加入收藏

TOP

C++二级指针第三种内存模型
2015-07-16 12:55:02 来源: 作者: 【 】 浏览:3
Tags:二级 指针 第三 内存 模型

C++二级指针第三种内存模型


#include "stdio.h"
#include "stdlib.h"
#include "string.h"
void main()
{
? ? int i = 0, j = 0;
? ? char buf[100];
? ? char **myarray = (char **)malloc(10*sizeof(char*)); //int array[10]
? ? if (myarray == NULL)
? ? {
? ? ? ? return;
? ? }
? ? for (i=0; i<10; i++)
? ? {
? ? ? ? myarray[i] = (char *)malloc(100*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=0; i<10; i++)
? ? {
? ? ? ? printf("%s\n", myarray[i]);
? ? }


? ? //排序
? ? for (i=0; i<10; i++)
? ? {
? ? ? ? for (j=i+1; j<10; j++)
? ? ? ? {
? ? ? ? ? ? if (strcmp(myarray[i], myarray[j]) < 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? strcpy(buf, myarray[i]);
? ? ? ? ? ? ? ? strcpy(myarray[i], myarray[j]);
? ? ? ? ? ? ? ? strcpy(myarray[j], buf);
? ? ? ? ? ? }
? ? ? ? }
? ? }


? ? //第三种内存模型打印
? ? printf("排序之后\n");
? ? for (i=0; i<10; i++)
? ? {
? ? ? ? printf("%s\n", myarray[i]);
? ? }


? ? for (i=0; i<10; 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 = 0;
? ? for (i=0; i? ? {
? ? ? ? printf("%s \n", ArrayStr[i]);
? ? }
? ? return 0;
}


int sortArrayStr03(char **ArrayStr, int iNum)
{
? ? int i = 0, j = 0;
? ? char *tmp = NULL;
? ? //排序


? ? for (i=0; i? ? {
? ? ? ? for (j=i+1; j? ? ? ? {
? ? ? ? ? ? if (strcmp(ArrayStr[i],ArrayStr[j]) < 0)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? tmp = ArrayStr[i];
? ? ? ? ? ? ? ? ArrayStr[i] = ArrayStr[j];
? ? ? ? ? ? ? ? ArrayStr[j] = tmp;
? ? ? ? ? ? }
? ? ? ? }
? ? }
? ? return 0;
}


void main()
{
? ? int i = 0, j = 0;
? ? char buf[100];
? ? char **myarray = (char **)malloc(10*sizeof(char*)); //int array[10]
? ? if (myarray == NULL)
? ? {
? ? ? ? return;
? ? }
? ? for (i=0; i<10; i++)
? ? {
? ? ? ? myarray[i] = (char *)malloc(100*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, 10);


? ? sortArrayStr03(myarray, 10);


? ? //第三种内存模型打印
? ? printf("排序之后\n");
? ? printfArr33(myarray, 10);


? ? for (i=0; i<10; i++)
? ? {
? ? ? ? free(myarray[i] );
? ? }
? ? if (myarray != NULL)
? ? {
? ? ? ? free(myarray);
? ? }


? ? system("pause");
}


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++指针之(易错模型) 下一篇C++二级指针第二种内存模型(二维..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: