#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//函数指针 - 是指向函数的指针
int Add(int x, int y)//有返回类型
{
int z = 0;
z = x + y;
return z;
}
void Print(char *str)//无返回类型
{
printf("%s", str);
}
int main()
{
int a = 10;
int b = 20;
//&函数名和函数名都是函数的地址
printf("%d\n", &Add);//十进制的地址
printf("%d\n", Add);//十进制的地址
printf("%p\n", &Add);//十六进制的地址
printf("%p\n", Add);//十六进制的地址
//要让pa和*先结合
int(*pa)(int, int) = Add;//函数指针的类型
printf("%d\n", (*pa)(2, 3));//5 pa如果是指针的话,找到它解引用。
printf("%d\n", (pa)(2, 3));//5 pa是地址
printf("%d\n", Add(2, 3));//5 Add是地址
//三种方法都可以
void(*p)(char *) = Print;
(*p)("hello world&