• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++二级指针第一种内存模型(指针数组)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

二级指针第一种内存模型(指针数组)
指针的输入特性:在主调函数里面分配内存,在被调用函数里面使用
指针的输出特性:在被调用函数里面分配内存,主要是把运算结果甩出来

  指针数组

  在C语言C++语言中,数组元素全为指针的数组称为指针数组。一维指针数组的定义形式为:“类型名 *数组标识符[数组长度]”。
  例如,一个一维指针数组的定义:int *ptr_array[10]。
 
  如何理解指针数组
 
   指针数组是数组元素为指针的数组,其本质为数组。
   例如:*p[2]是指针数组,实质是一个数组,里面的两个元素都是指针 []的优先级比*的优先级高,p先与[]结合,形成数组p[2],有两个元素的数组,再与*结合,表示此数组      是指针类型的,每个数组元素相当于一个指针变量

  运用

   指针数组可以作为函数的参量使用,使用方式与普通数组类似。
   指针数组常适用于指向若干字符串,这样使字符串处理更加灵活方便。


 举例:

#include "stdio.h"
#include "stdlib.h"
#include "string.h"

void main()
{
    int i = 0, j = 0;
    char *tmp = NULL;

    char *ArrayStr[] = {"ccccc", "aaaa", "bbbb","11111"};

    for (i=0; i<4; i++)
    {
        printf("%s \n", ArrayStr[i]);
    }

    //排序

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

    for (i=0; i<4; i++)
    {
        printf("%s \n", ArrayStr[i]);
    }
    
    system("pause");
}

  

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
int    printfArr(char **ArrayStr, int iNum)
{
    int i = 0;
    for (i=0; i<iNum; i++)
    {
        printf("%s \n", ArrayStr[i]);
    }
    return 0;
}

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

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

//二级指针第一种内存模型
void main()
{
    char *ArrayStr[] = {"ccccc", "aaaa", "bbbb","11111"};

    printf("排序之前\n");
    printfArr(ArrayStr,4);
    sortArrayStr(ArrayStr, 4);

    printf("排序之后\n");
    printfArr(ArrayStr,4);

    system("pause");
}

  一维指针数组做函数参数会退化为二级指针


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++语言动态创建对象发布时间:2022-07-13
下一篇:
(转)关于T(n)=kT(n/c)+f(n)的时间复杂度发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap