void (*Aa)();//定义一个函数指针Aa
void Bb(u8 A,u8 B)//自定义的函数Bb
{
A++;
B++;
}
void main(void)
{
Aa = (void(*)(u32))Bb;//这个地方的写法我不太明白
Aa(1,1);
while(1)
{}
}
问题内容:Aa是一个指针,应该给他赋值的是一个地址, (void(*)(u32))Bb是把Bb地址取出来吗?这里为什么不能写成&Bb?希望详细解释一下 (void(*)(u32))Bb这句的含义。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
确实是都可以的哈,虽然说函数名本来就是地址,但是加个取地址也是对的,就跟数组名一样,只是数组名加了取地址符后类型变了,但值是一样的。
一周热门 更多>