高階指標相關內容

2021-08-19 17:12:42 字數 2016 閱讀 8697

1.函式指標

函式指標就是函式的指標;它是乙個指標,指向乙個函式。

看**如下:

a) char * (*fun1)(char * p1,char * p2);

b) char * *fun2(char * p1,char * p2);

c) char * fun3(char * p1,char * p2);

解釋如下:

c) fun3是函式名,p1,p2是引數,其型別為char *型,函式的返回值為char *型別。

b) 與c)表示式相比,唯一不同的就是函式的返回值型別為char**,是個二級指標。

a) fun1是乙個指標變數,它指向乙個函式。這個函式有兩個指標型別的引數,函式的返回值也是乙個指標。

#include //calculate用於計算積分。一共三個引數。第乙個為函式指標func,指向待積分函式。二三引數為積分上下限  

double calculate(double(*func)(double x), double a, double b)  

return sum;  

}     

double func_1(double x)  

double func_2(double x)  

void main()  

2.函式指標陣列

函式指標陣列是乙個其元素是函式指標的陣列。也就是說,此資料結構是乙個陣列,且其元素是乙個指向函式入口位址的指標。

首先說明是乙個陣列:陣列名

其次,要說明其元素的資料型別指標:*陣列名.

再次,要明確這每乙個陣列元素是指向函式入口位址的指標:函式返回值型別(*陣列名)().請注意,因為圓括號和陣列說明符的優先順序是等同的,如果不用圓括號把指標陣列說明表示式擴起來,根據圓括號和方括號的結合方向,那麼 *陣列名() 說明的是元素返回值型別為指標的函式陣列。

例如:

void (*funcpointerarray[3])(double x);//函式指標陣列
void (*funcpointer)(double x);//函式指標
如何使用:

void f1(double x){}  

void f2(double x){}  

void f3(double x){}

來三個具體的函式,f1,f2,f3

void (*funcpointerarray[3])(double x);  

funcpointerarray[0]=f1;  

funcpointerarray[1]=f2;  

funcpointerarray[2]=f3;  

funcpointerarray[0](「2.333333」);  

funcpointerarray[1](「6.666666」);

具體應用:
#include void additem(char *name)  

void deleteitem(char *name)  

void finditem(char *name)  

void updateitem(char *name)  

void main()  

3.線性表

#include int add(int a, int b)

int sub(int a, int b)

int mul(int a, int b)

int div(int a, int b)

int main()

; //轉移

表while (input)

else

printf( "輸入有誤\n" );

printf( "ret = %d\n", ret);

}return 0;

}

指標相關內容

1.指標是變數,佔4位元組,存放的是位址 2.指標型別與零值比較 if n null 或者if n null 3.野指標 int p 空指標 int p null 避免野指標 以char型別為例 char p char mallloc sizeof char 10 要包含標頭檔案 include 使...

ORACLE相關內容

1 em,dbca,netca,netmgr出現亂碼方案 cd oracle home jre lib mv font.properties font.properties.bak mv font.properties.zh font.properties em,dbca,netca,netmgr詳...

JVM相關內容

本地 native code 每個因素對記憶體占用的影響又會隨著應用程式 執行環境和系統平台的不同而變化,那怎樣計算總的記憶體佔用量?是的,想得到乙個準確的數字不是那麼容易,因為 你很難控制本地 native 部分。你能控制的部分只有堆大小 xmx,類占用的記憶體 xx maxpermsize,還有...