對於剛學習的變成語言,總是會發現指標函式和函式指標這兩個東西實在是分不明白.
在這裡我想簡單的說一下,如何分別:
指標函式和函式指標.
指標函式 - 指標型函式
函式指標 - 函式型指標
指標型函式 - 就是指標為主函式為輔,首先要看起來要像乙個指標:
void *p_add(int a,int b);
函式型指標 - 就是函式為主指標為輔,首先要看起來要像乙個函式:
void (*p_add)(int a,int b);
對於這兩個函式的宣告,可能有些人分不清,什麼叫看起來像乙個指標,什麼叫看起來像乙個函式
這就要根據優先順序的問題了.由於括號的優先順序比*(符號) 的優先順序大.
所以在這兩個符號在一起的時候,就要看好他們先和誰結合,
解釋一下:
void *p_add(int a,int b);
由於()比*(符號) 的優先順序大,所以p_add要先和()結合,這樣後結合的便是*(符號)
這樣就看來像乙個指標了
void *(p_add(int a,int b));我們要把後面的看成乙個,雖然很難看成,但是我希望大家;要有
一丟丟的想象力.
void (*p_add) (int a,int b);
由於(*p_add) 有括號了,如果出現了兩個括號怎麼辦啊,這就要從左到右的計算了,
這樣就非常的像乙個函式了,(要有一丟丟的想象力)
函式指標,指標函式,陣列指標,指標陣列 區分
what why how 這些怎麼區分 函式指標 重點在指標,表示它是乙個指標,它指向的是乙個函式。eg int fun 指標函式 重點在函式,表示它是乙個函式,它的返回值是指標。eg int fun 陣列指標 重點在指標,表示它是乙個指標,它指向的是乙個陣列。int fun 8 指標陣列 重點在陣...
函式指標 函式指標陣列和指標函式
1.函式指標 這個指標返回乙個函式 int f int x 宣告乙個函式指標 f func 將func函式的首位址賦給指標f 2.函式指標陣列 這個指標返回一組函式 include stdio.h void function0 void void function1 void void functi...
指標函式和函式指標
指標函式和函式指標 一 指標函式 當乙個函式宣告其返回值為乙個指標時,實際上就是返回乙個位址給呼叫函式,以用於需要指標或位址的表示式中。格式 型別說明符 函式名 引數 當然了,由於返回的是乙個位址,所以型別說明符一般都是int。例如 int getdate int aaa int,int 函式返回的...