你好,游客 登录 注册 搜索
背景:
阅读新闻

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

[日期:2015-07-12] 来源:Linux社区  作者:CentForever [字体: ]

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<iNum; 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<iNum; i++)
    {
        for (j=i+1; j<iNum; 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");
}

本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-07/119794.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款