先來看看下面面試題
1. float (** def ) [10];
2. double * ( *gh ) [10];
3. double( *f [10] ) ();
4. int *( (*b)[10] );
5 long (*fun) (int)
6.int ( * (*f)(int,int) ) (int)
第一題。先看變數 的結合方式以第一題為例 結合方式是 先看變數 , 分析變數與誰結合 ,之後再跳出括號從右向左結合 。變數def 先在括號內與** 結合 表示def是二級指標, 再跳出括號 從右向左 ,與右邊[10]結合,最後再與float結合 下面用語言描述下 具體的含義
1。def是二級指標 它指向乙個一位陣列的指標,陣列裡每個元素都是float型資料 總得來說是個 對於喜歡摳字眼的人來說是個陣列指標
2。先看gh變數 他是乙個指標指向乙個陣列,陣列裡每個元素都是都double型的指標。。總得來說是個 指標陣列
3.先看變數 f 是乙個陣列,陣列裡每個元素都是指標目前是指標陣列再跳出括號 ,右邊又是括號說明是乙個函式。總的來說就是 剛才說的陣列的每個指標都指向乙個函式 函式的返回值是double型,引數無參。總得來說是個函式指標,裡面又巢狀著指標陣列
4,先看變數b先於括號裡的*結合在於陣列結合,所以是個陣列指標 指向乙個10整形指標元素的陣列,總的來說是個陣列指標
5.先看變數fun先於*結合是個指標再與()結合,說明是乙個函式指標,函式無參並且返回值是long型的
6,f是乙個函式的指標,指向的函式的型別是有 兩個int型引數並且返回乙個函式指標的函式,返回的函式指標指向有乙個int引數且返回值int的函式。
指標的偏移和陣列與指標的結合使用
一.指標的定義 型別名 指標變數名 型別決定指標的大小,可用sizeof運算子去計算大小。二.指標的賦值 1.使用位址進行賦值,資料型別與指標型別需一致 int inum 0x64 int ptr ptr inum 2.利用指標之間相互賦值,指標型別必須一致 int ptr1,ptr2 ptr1 p...
筆記4 指標和陣列 函式結合分析
一.指標陣列和陣列指標 分析指標陣列和陣列指標的表示式 int p 5 int p 5 int p 5 總結 我們在定義乙個符號時,關鍵在於 首先要搞清楚你定義的符號是誰 第一步 找核心 其次再來看誰跟核心最近 誰跟核心結合 第二步 找結合 以後繼續向外擴充套件 第三步 繼續向外結合直到整個符號完 ...
指標函式和函式指標 指標陣列和陣列指標
綜述 函式指標是乙個指向函式的指標,而指標函式是指乙個返回值為指標的函式 陣列指標是乙個指向二維陣列的指標變數,而指標陣列是多個指標變數以陣列的形式儲存在記憶體中 一 函式指標 1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的優先順序高於 所以指標變數名外的括...