二級指標排序

2021-08-14 15:13:00 字數 2107 閱讀 8664

#define _crt_secure_no_warnings

#include#include#includevoid print_array(char **a, int n)

printf("\n");

}void sort_array(char **a, int n)

} }}// 讓p指向一段記憶體,讓這塊記憶體儲存內容

int main(void)

strcpy(p[0], "aa"); //分配的內容儲存"aa", 元素是char

strcpy(p[1], "bb");

strcpy(p[2], "cc");

printf("排序前:");

print_array(p, n);

sort_array(p, n); //選擇法排序

printf("排序後:");

print_array(p, n);

//釋放堆區空間

for (i = 0; i < n; ++i)

free(p);

p = null;

printf("\n");

system("pause");

return 0;

}

函式的封裝

#define _crt_secure_no_warnings

#include#include#includevoid print_array(char **a, int n)

printf("\n");

}void sort_array(char **a, int n)

} }}void get_mem(char **p, int n)

strcpy(p[0], "aa"); //分配的內容儲存"aa", 元素是char

strcpy(p[1], "bb");

strcpy(p[2], "cc");

}char ** get_mem2(int n)

strcpy(p[0], "aa"); //分配的內容儲存"aa", 元素是char

strcpy(p[1], "bb");

strcpy(p[2], "cc");

return p;

}void get_mem3(char *** tmp, int n)

strcpy(p[0], "aa"); //分配的內容儲存"aa", 元素是char

strcpy(p[1], "bb");

strcpy(p[2], "cc");

*tmp = p; //間接賦值,很重要

}void free_mem(char ** p, int n) //釋放堆區記憶體

int i;

//釋放堆區空間

for (i = 0; i < n; ++i)

free(p);

p = null;

}void free_mem2(char *** tmp, int n) //釋放堆區記憶體

int i;

//釋放堆區空間

for (i = 0; i < n; ++i)

free(p);

p = null;

*tmp = null;

}// 讓p指向一段記憶體,讓這塊記憶體儲存內容

int main(void)

// 讓p指向一段記憶體,讓這塊記憶體儲存內容

int main01(void)

strcpy(p[0], "aa"); //分配的內容儲存"aa", 元素是char

strcpy(p[1], "bb");

strcpy(p[2], "cc");

printf("排序前:");

print_array(p, n);

sort_array(p, n); //選擇法排序

printf("排序後:");

print_array(p, n);

//釋放堆區空間

for (i = 0; i < n; ++i)

free(p);

p = null;

printf("\n");

system("pause");

return 0;

}

指標與二級指標

int num 10 int p1 int p2 p1 指標的指向結構如下圖所示 0x4000 0x3000 p2 0x2000 p1 num p2 表示的是儲存p2指標的位址 p2 表示的是p2指向的位址,即指標p1存放的位址 p2 表示指標p2指向位址中所存的值,即指標p1指向的位址,即變數nu...

一級指標二級指標

例如 int p null int代表指標p指向的資料型別是int型,代表這是乙個指標變數,1 指標變數儲存的內容是指向的變數的位址 2 在使用sizeof判斷指標的位元組數時,在32位機器上為4個位元組,在64位機器上為了相容,仍然是四個位元組大小 3 小知識點,不同型別的指標除了指向的變數資料型...

二級指標 P

首先理解幾個概念 1.對於乙個普通變數,進行引用操作,得到的是一級指標。如int a 0 int p a,則 a就是一級指標。因為 a的值就是a的位址,p的值也是a的位址,則 a和p就是一級指標變數 簡略為指標 對 a進行解引用操作,int b a 這b等於0.2.對於普通變數作為形參傳遞到函式內部...