• 二级指针做输入的第一种内存模型:指针数组


    一 API封装

    需求:现有指针数组char* myArray[]。编写一个函数,对指针数组myArray排序。

    #include<stdlib.h>
    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>

    void printMyArray(char**myArray, int num)
    {
      int i = 0;
      for (i = 0; i < num; i++)
      {
        printf("%s ", myArray[i]);// printf("%s ", *(myArray+i));
      }
    }

    void sortMyArray(char**myArray, int num)
    {
      int i = 0, j = 0;
      char*tmp = NULL;
      for (i = 0; i < num; i++)
      {
        for (j = i + 1; j < num; j++)
        {
          if (strcmp(myArray[i], myArray[j]) > 0)//前面的大 交换
          {
            tmp = myArray[i]; //PS: 交换的是数组元素,该数组包含的元素是指针,即交换的是指针指向的内存地址
            myArray[i] = myArray[j];
            myArray[j] = tmp;
          }
        }
      }
    }

    void main()
    {
      int i = 0, j = 0;
      int num = 0;
      char*tmp = NULL;
      //数组 只不过每一个元素都是指针--->指针数组
      char* myArray[] = { "aaaaaa", "ccccc", "bbbbb", "1111111" };

      //打印
      num = sizeof(myArray) / sizeof(myArray[0]); //求出数组的长度
      printMyArray11(myArray, num);

      //排序
      sortMyArray11(myArray, num);
      printf("排序之后");
      printMyArray11(myArray, num);
      printf(" hehhe");
      system("pause");
      return;
    }

  • 相关阅读:
    GitHub教程学习笔记1本地Git管理
    GitHub教程学习笔记2远程仓库和本地仓库
    图像分割方法综述
    println输出乱码
    ngshow,ngif区别
    isFile() exists() isDirectory()的区别
    File类中的list和listFiles方法
    mkdir与mkdirs的区别
    新建play项目eclipsify后导入eclipse后无法debug调试
    大龄屌丝自学笔记Java零基础到菜鸟021
  • 原文地址:https://www.cnblogs.com/fengxing999/p/10318423.html
Copyright © 2020-2023  润新知