A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

指针数组:首先它是一个数组,数组的元素都是指针,数组占多少个字节由数组本身决定。它是“储存指针的数组”的简称

//===========================================

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

int printAarray(char **  pArray, int num)
{
        int i = 0;
       
        if (pArray == NULL)
        {
                return -1;
        }

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

        return 0;
}

int sortArray(char **pArray, int num)
{
        char *tmp = NULL;
        int i = 0, j = 0;
       
        if (pArray == NULL)
        {
                return -1;
        }
        for (i=0; i<num; i++)
        {
                for (j=i+1; j<num; j++)
                {
                        if (strcmp(pArray[i], pArray[j]) > 0)
                        {
                                //交换的是数组元素 数组元素是指针
                                tmp = pArray[i];
                                pArray[i] = pArray[j];
                                pArray[j] = tmp;
                        }
                }
        }
}
void main()
{
        char *tmp = NULL;
        int i = 0, j = 0;
        //首先考虑它是一个数组,指针数组,====》只不过每一个元素是指针而已。
        //[]优先级高
        //打印数组 排序排序这个数组、、、、指针做函数参数
        char * myArray[] = {"i", "love", "you", "so"};

        printf("排序之前\n");
        printAarray(myArray, 4);

        sortArray(myArray, 4);


        printf("排序之后\n");
        printAarray(myArray, 4);
}

//=============================================

如有问题可相互探讨,可以在帖子下面留言

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马