#define IAP_LOCATION 0X1F00FFFF
int iap_program(unsigned int target_addr, unsigned int source_addr)
{
typedef void(*IAP)(unsigned int[], unsigned int[]);
IAP iap_entry;
iap_entry = (IAP) IAP_LOCATION;
command[0] = 50; // prepare the sector for write operation
command[1] = 7; // start sector no
command[2] = 7; // end sector no
iap_entry (command, result);
}
在上面的代码中,我对行IAP iap_entry感到困惑; IAP是一个函数指针.IAP iap_entry和iap_entry =(IAP)IAP_LOCATION;意思?
我习惯使用下面给出的样式的函数指针
float funct(float num1, float num2 )
{
return num1 * num2;
}
typedef float(*pt2Func)(float, float);
pt2Func *FnPtr = &funct;
float result = (*FnPtr)(2.0, 5.1);
}
答案 0 :(得分:0)
IAP
不是一个函数指针。它是一个函数指针 type 。 (与int
是数字类型的方式相同,而不是数字本身)
iap_entry
是类型为IAP
的函数指针。
(IAP) IAP_LOCATION
也是类型为IAP
的函数指针,是通过将整数转换为指针而生成的。