二级指针的应用-创新互联

简单应用:对指针数组中的字符串进行排序(升序);

专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!成都创新互联公司为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,网站设计制作、做网站负责任的成都网站制作公司!

1、交换指针变量的值;

(1)、代码如下:

#include
#include


void sortByA(char **str, int count);
void sortByA(char **str, int count){
    int i;
    int j;
    char *tmp;

    for(i = 0; i < count; i++){
        for(j = i+1; j < count; j++){
            if((strcmp(*(str+i), *(str+j))) > 0){ //交换的是指针变量;
                tmp = *(str+i);
                *(str+i) = *(str+j);
                *(str+j) = tmp;
            }   
        }   
    }   
}
int main(void){
    char *array[] = {"aaaa", "bbbb", "ccccc", "dddd"};
    int count = sizeof(array)/sizeof(array[0]);
    int i;

    sortByA(array, count);

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

}

(2)、运行结果:

二级指针的应用

(3)、模型分析:

指针变量的交换:中间借助一个临时的指针变量即可;

二级指针的应用

2、交换空间的值

(1)、代码如下:

#include
#include


void sortByA(char (*p)[30], int count);
void sortByA(char (*p)[30], int count){
    int i;
    int j;
    char tmp[30];

    for(i = 0; i < count; i++){
        for(j = i+1; j < count; j++){
            if((strcmp(p[i], p[j]) > 0)){
                strcpy(tmp, p[i]);  //内存块的拷贝
                strcpy(p[i], p[j]);
                strcpy(p[j], tmp);
            }   
        }   
    }   
    
}
int main(void){
    char myArray[][30] = {"aaaaa", "bbbbb", "cccc", "dddddd"};
    int i;
    int count;

    count = sizeof(myArray)/sizeof(myArray[0]);

    sortByA(myArray, count);

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

    return 0;
}

(2)、运行结果:

二级指针的应用

(3)、模型分析:

二级指针的应用

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:二级指针的应用-创新互联
本文链接:http://myzitong.com/article/djccjo.html