c語言指標陣列如何存放函式地址C語言指標陣列如何存放函式地址

2021-03-07 04:02:34 字數 2483 閱讀 1004

1樓:匿名使用者

?c/c++的指標的靈活,常把許多初學者搞暈,連高手也是如此。

1.當然,可以呀,一切資料都可返回;

2.複合指標型別直接表示非常麻煩(連高手都是這樣),可以分解成多個簡單型別;

typedef

void funtype(void);

funtype * num[100];

分解後簡單多了!!!!!

3. 因為函式名不是字串,初始化時,沒法用while for實現:

最簡單的表示方法,:

typedef

void funtype();

funtype * num[100]=;

// 100個函式名都要列出,不能用省略號這樣 num[i] // i=0,...,99 可表示你的任意一個函式了,這樣你可以用

for,while 了!

你有不明白的再追問。

2樓:道祖一鴻鈞

1、陣列裡面可以存放函式地址,這就是傳說中的函式指標陣列。

2、陣列指標就是一個指標裡面存放陣列的首地址的指標,int (* num)[ ]是這種型別。

3、定義

typedef int (* a)(引數型別列表);//重定義函式名a num[100];

int i ;

for(i = 1;i<=100;i++)num[i] = hsi;

3樓:匿名使用者

1.函式指標的陣列定義方法:返回值型別( * 指標變數名[number]) (形參列表)。

例如:double add(double a,double b){};

double sub(double a,double b){};

double mul(double a,double b){};

double div1(double a,double b){};

double (*oper_func)(double, double) = ;//函式指標的陣列定義

2.函式指標是指向函式的指標變數。函式指標有兩個用途:呼叫函式和做函式的引數。

函式指標的宣告方法為:

返回值型別( * 指標變數名) (形參列表);

「返回值型別」說明函式的返回型別,「( * 指標變數名)」中的括號不能省,括號改變了運算子的優先順序。若省略整體則成為一個函式說明,說明了一個返回的資料型別是指標的函式,後面的「形參列表」表示指標變數指向的函式所帶的引數列表。

例子:#include

int max(int x,int y)

int main()

4樓:匿名使用者

這種情況,hs1(),hs2(),~ hs100() 這些函式的引數型別和返回值最好是完全相同的,這樣才能放到同一個陣列中才能再次對其呼叫並使用。

舉個例子,下面是省略簡寫的100個函式在for迴圈中分別被呼叫後輸出內容和返回值的處理方法,實際使用中可以參照這種方式進行使用,真正一個一個賦值的方法應該是不會用到的。

#include "stdio.h"

unsigned char hs1(unsigned char ucarg);

unsigned char hs2(unsigned char ucarg);

/* ………… */

unsigned char hs99(unsigned char ucarg);

unsigned char hs100(unsigned char ucarg);

unsigned char (*const wucfunctionpointer_tbl)( unsigned char ) = ;

void main(void)

}unsigned char hs1(unsigned char ucarg)

unsigned char hs2(unsigned char ucarg)

/* ………… */

unsigned char hs99(unsigned char ucarg)

unsigned char hs100(unsigned char ucarg)

5樓:繆立軍

#include "stdio.h"

void output(int x)

void main()

}這個程式的輸出是100行數字從0~99

6樓:長風不在華為

你的問題大家回答的差不多我,我只對最後的問題回答下:對函式指標陣列的賦值必然得有一個個手工寫的過程。

c語言,指標變數中存放的地址可以改變嗎?

7樓:匿名使用者

選ds中最多可以存放17個字元, s字串中最後一個字元'.'是中文全形的點,要佔兩個位置, t指向的字串中的'.'是英文字元,算一個

8樓:匿名使用者

應該選d

而指標常量中存放的地址一般來說不能改變

c語言 怎麼呼叫指標陣列函式,C語言 怎麼呼叫指標陣列函式

1.函式指標的陣列定義方法 返回值型別 指標變數名 number 形參列表 例如 double add double a,double b double sub double a,double b double mul double a,double b double div1 double a,d...

c語言陣列首地址的疑問,c語言陣列首地址的一個疑問

你可以把陣列名看成一個指標啊,只不過陣列名不需要再像指標變數那版樣用一個記憶體單元儲存其地址權。比如 int n int p n 這裡p就需要另外的空間儲存。而陣列名的值就是其地址值,所以a和 a相等 a 0 的值和a的值放在一個記憶體單元中,這句話是錯誤的。a 0 的值是第一個陣列元素的值,a的值...

c語言 指標函式跟函式指標的區別

指標函式是個函式,其返回值是指標 函式指標是一個指標,指向函式的入口地址 典型的指標函式如 void malloc unsigned int size 這個記憶體分配函式就是個返回void 指標型別的函式。若寫成void fun ptr unsigned int size 這時fun ptr表示一個...