指针与函数笔记

函数指针:

  1. 函数指针的函数名是一个指针
  2. 函数指针返回值是定义的函数的返回值类型
    函数指针定义
int (*f)(int a, int b); // 声明函数指针

下面是函数指针的一个例子

#include "stdio.h"
#include "stdlib.h"
#include "string.h"


//函数指针返回地址是函数入口地址,有两个参数的函数 
int max(int a,int b);


int max(int a, int b) 
{
	return  a>b? a:b; 
}



int  main()
{
	int (*pmax)(int a,int b);

    pmax = max;//函数指针f指向求函数 , 返回函数的入口地址 
    
    int c = (*pmax)(1,2);//函数值 
    printf("%d\n",c);

	system("pause");
	return 0;
}




指针函数:

  1. 返回值是定义的函数指针
  2. 函数名本身就是一个地址,定义指针指向函数的入口地址
#include "stdio.h"
#include "stdlib.h"
#include "math.h"

//函数指针 
int *psum(int a, int b);
////函数名本身就是一个地址,这个地址就是函数的入口地址
//int sum(int a,int b) 
//{
//   	return 23;
//}
//指针函数返回是指针类型   int *p; 
int *psum(int a, int b)
{
	int  *p=(int *)malloc(sizeof(int));//分配内存 
   *p = a+b;
    return p;
}

int  main()
{
	
	int  *p1= NULL;
	
	p1=psum(1,2); 
	
	printf("%d\n",*p1);
 
	system("pause");
	return 0;
}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值