void add(int a, int b)
{
std::cout << a + b << std::endl;
}
void(*p)(int, int);//定义函数指针
p = add;//为函数指针赋值
1 #include <iostream> 2 3 void add(int a, int b) 4 { 5 std::cout << a + b << std::endl; 6 } 7 8 void main() 9 { 10 void(*p)(int, int);//定义函数指针 11 12 p = add;//为函数指针赋值 13 14 p(1, 2);//一样 15 16 (*p)(1, 2); 17 (**p)(1, 2); 18 (***p)(1, 2); 19 (****p)(1, 2); 20 (*****p)(1, 2); 21 22 (&*p)(1, 2);//&没有*不可以执行,&超过两个也不可以执行 23 (&**p)(1, 2); 24 (&***p)(1, 2);//一样 25 26 std::cout << p << " " << *p << std::endl;//C++编译器会自动把*p处理为p 27 28 std::cout << typeid(p).name() << " " << typeid(*p).name() << std::endl; 29 30 system("pause"); 31 }