一、基本概念
1.指針數組:實質上是一個數組,數組中的元素是指針;
2.數組指針:實質上是一個指針,指針指向的值爲數組;
3.函數指針:實質上是一個指針,指針指向的值爲函數;
二、表達式
1.指針數組:如int *p[5] p含義爲容量爲5的int*類型的數組
2.數組指針:如int(*p)[5] p的含義爲指向一個容量爲5的int型數組的指針
3.函數指針:如int (*p)(int ) p的含義爲指向一個輸入參數爲int型返回一個int型的函數的指針
三、如何構成不同的表達式
1.優先級:當兩個符號在一起時決定哪個符號先運行:[ ]的優先級大於*,且()爲強制結合
要判斷不同的表達式的意義:
第一步:找核心,即找到定義的符號是哪個,如前面的p爲表達式的核心;
第二步:找結合,找到離核心最近的符號;
第三步:向外擴展。
如:int *p[5],先找到表達式的核心,即爲p;然後再進行結合,因爲[ ]的優先級高於*,則先和[ ]結合,即p是有5個元素的數組,再和int*結合,則數組的類型爲int*。