【C語言】指標和陣列的區別和聯絡
1.指標
int * p ( 這裡定義一個指標 p為指標變數 指向的是某一個地址)
2.陣列
int arr [10] 這裡定義了10個int 型別的資料 可以通過arr[0] arr[1].....來訪問陣列中的每個元素
3.指標陣列
顧名思義:首先是一個數組 而每個陣列元素的型別又是一個指標
ex: int * arr [5] 由於[ ]優先順序高於 * 所以 arr[5]先結合 為陣列 arr為陣列名 其每個陣列元素的的型別都為int *
4.陣列指標
顧名思義:首先是一個指標 它指向的是一個數組
ex:int (* arr)[5] 首先(* arr)結合成一個指標 它指向一個包含5個元素的int 型別陣列 指標變數為arr
5.函式指標
從陣列 指標 我們理解到 函式指標應該也和其具有 一樣的性質 是一個指標 指向的是一個函式而已
int (* p ) ( int * )= &fun 這裡 fun 是一個函式 *p 是 一個指標 有能力指向一個函式 它的 函式名為fun 函式引數型別為 int * 返回值型別為 int 型
6.函式指標陣列
首先是一個數組 陣列 的每個元素是一個指標 分別指向不同的函式
ex: int (* p [3] ) (int *) = { fun1,fun2,fun3} 是一個數組 有3 個元素 每個元素是一個*p 的指標
7.指向函式指標陣列的指標
首先 是 一個 指標 它指向的是一個數組 陣列的每個元素又是一個指標 其又 指向不同的函式
ex: int(*pr(* p)[3])( int *) = {fun1 ,fun2,fun3}