溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

二級(jí)指針的應(yīng)用

發(fā)布時(shí)間:2020-07-31 09:42:12 來(lái)源:網(wǎng)絡(luò) 閱讀:433 作者:匯天下豪杰 欄目:編程語(yǔ)言

簡(jiǎn)單應(yīng)用:對(duì)指針數(shù)組中的字符串進(jìn)行排序(升序);

1、交換指針變量的值;

(1)、代碼如下:

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


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)、運(yùn)行結(jié)果:

二級(jí)指針的應(yīng)用

(3)、模型分析:

指針變量的交換:中間借助一個(gè)臨時(shí)的指針變量即可;

二級(jí)指針的應(yīng)用


2、交換空間的值

(1)、代碼如下:

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


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]);  //內(nè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)、運(yùn)行結(jié)果:

二級(jí)指針的應(yīng)用

(3)、模型分析:

二級(jí)指針的應(yīng)用

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI