在實現排序功能的時候,一般都是通過交換值的形式,通過迴圈逐漸得到我們想要的順序。但是有時候排序通過值的交換實現起來比較麻煩,因此我們可以引用指標陣列,通過交換位址的方式來得到我們想要的順序。
例:char a[4][10]= 將四個字串通過從小到大的順序依次排序,如果用交換值的形式,實現起來就會比較麻煩。但是通過指標陣列實現起來就很容易。
char *b[4]= 定義乙個指標陣列分別依次指向字元陣列,如下圖所示
具體**實現:c++為例
#include//呼叫cin,cout 輸入輸出函式
#include//呼叫strcmp函式來比較字串大小
using namespace std;
int main()
; //定義二維陣列
char *b[4]=; //定義指標陣列用來存放二維陣列對應的記憶體位址
char *temp; //定義交換兩個位址的中間變數指標;
int i,j; //通過冒泡法實現位址交換
for(i=0;i<=2;i++)
}
}
for(i=0;i<=3;i++)
cout<
return(0);
}
總結:通過指標陣列交換記憶體位址實現排序,解決一些交換數值比較麻煩的問題
陣列指標應用
用陣列指標,多種方式輸出a 2 include define l a sizeof a sizeof a 0 typedef int arr int 4 int main arr int p a 陣列指標,p的資料型別是4個int長 printf d n p 0 2 先獲取到a陣列的訪問權,在訪問a...
陣列指標與指標陣列的應用例項
一陣列指標的應用 include stdio.h typedef float a 10 定義乙個字元型含有十個元素的陣列型別a int main float farray 10 定義farray陣列 a pf farray pf陣列指標指向farray整個陣列的位址入口 int i 0 for i ...
指標陣列和陣列指標的理解與應用
指標陣列,即以指標為元素的陣列,其主要應用於選單的查詢 注意下面的例項 include intmenu int main if choice 0 choice 6 return0 int menu 效果圖 還有乙個就是關於表驅動的例項 include intadd int a,int b int m...