#include <stdio.h>
#include <stdlib.h> //malloc()
#include <memory.h> //memset()
//指针函数,返回值是指针类型 (返回一个地址给调用者)
int *pointF(int param1, int param2); //声明指针函数
//函数指针:函数指针就是一个指针,指向一个函数(函数名的地址)
int (*functionP)(int, int); //声明函数指针,指向返回值类型为int,有两个参数类型都是int的函数
int maxValue(int param1, int param2);//声明求最大值的函数
int minValue(int param1, int param2);//声明求最小值的函数
int main(void)
{
//指针函数示例
int *pSum = NULL;
pSum = pointF(5, 8);
printf("pSum of memeory address = %p\t *pSum = %d \n", pSum, *pSum);
//函数指针示例
functionP = maxValue;
int mMax = 0;
mMax = (*functionP)(52, 36);
printf("mMax = %d\n", mMax);
functionP = minValue;
int mMin = 0;
mMin = (*functionP)(52, 36);
printf("mMin = %d\n", mMin);
return 0;
}
//指针函数的定义, 返回值 是指针类型 int *
int *pointF(int param1, int param2)
{
int *pF = (int *)malloc(sizeof(int));
printf("pF of memeory address = %p\n", pF);
memset(pF, 0, sizeof(int));
*pF = param1 + param2;
printf("*pF of value = %d\n", *pF);
return pF;
}
//求最大值 返回值是int类型
int maxValue(int param1, int param2)
{
return param1 > param2 ? param1 : param2;
}
//求最小值 返回值是int类型
int minValue(int param1, int param2)
{
return param1 < param2 ? param1 : param2;
}
指针函数与函数指针示例
最新推荐文章于 2024-06-19 11:20:02 发布