#include <stdio.h>
int fun(int a,int b)
{
printf("xingbu\n");
}
int main()
{
//int (*a[10])(int,int); 這個是對的
(int (*)(int,int)) a[10]; //這個是錯的
a[0]=fun;
int (*b)(int,int);
b=a[0];
b(0,0);
return 0;
}
(int (*)(int,int)) a[10]; 這種定義方法為何不正確?
(int (*)(int,int)) 這種形式不能算一種資料形式嗎?
做過一道題 知道一個函式的地址假如是 0x8004 8000
回傳值是int型 兩個引數都是int型 題目要求根據抵制呼叫函式
就可以定義一個 int (*p)(int,int);
p= ( int (*)(int,int))0x8004800 是可以運行這個函式的
我自己寫了個代碼運行的時候是將函式地址的地址值取出來,
再對這個地址型別轉換是可以用的
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/223339.html
標籤:C語言
上一篇:陣列
下一篇:陣列
