首页 > 其他分享 >函数指针和指针函数

函数指针和指针函数

时间:2022-11-16 14:44:27浏览次数:39  
标签:p2 函数 int 返回值 函数指针 指针

函数指针和指针函数的区别


一、函数指针

本质上是一个指针,它指向的是一个函数的地址。

1.如何定义一个函数指针:

void(*p2)(int a,int b);

函数指针是专用的。格式要求很强 返回值,参数类型,个数都必须相同。

2.如何给函数指针赋值:

void data(int a,int b){
	
}
int main(){
		void(*p2)(int a,int b);//声明一个函数指针
		int a = 10,b = 20;
		p2=data;//初始化函数指针(给函数指针赋值)
		p2(a,b);
		return 0;
}

我们都知道数组名就代表这个数组的首地址,函数名也一样,函数名就代表这个函数的地址,所以用p2这个指针指向data这个函数。

3.如何调用函数指针:

  1. 直接通过指针名字+需要传递的参数,如: p2(a,b);

  2. 取内容+需要传递的参数,如:(*p2)(a,b);

推荐使用第一种方法

二、指针函数

本质上是一个函数,他的返回值是一个指针

int *add(int a,int b)
{
	int ret;
    ret = a+b;
	return &ret;
}
int main()
{
		int a = 10;
		int b = 20;
		int *p = add(a,b);//因为add的返回值是一个指针,所以要用相同类型的指针接收返回值
		printf("p = %d\n", *p);
		return 0;
}

标签:p2,函数,int,返回值,函数指针,指针
From: https://www.cnblogs.com/amxiang/p/16895866.html

相关文章

  • C 函数参数 char **s与char *s[]区别
    先来看一个小例子:编写函数遍历一个整型数组的元素,数组最后一个元素为-1标志数组的结束。#include<stdio.h>voidtest(int*a){ intx; while((x=*a++)!=-1){......
  • 【HZERO】宏函数
    宏函数配置......
  • 回调函数
     一、回调函数的大白话解释    关于回调函数,引用StackOverflow上面一个比较好的说明: A“callback”functionisafunctionwhichis: accessiblebyan......
  • 回调函数2
    百度百科上的定义:回调函数就是一个被作为参数传递的函数。回调是英文callback的直译,call是调用,back象征回过来。字面解释是让系统回过来调用我们指定好的函数。我们可以保......
  • C++模板——函数模板
    1.1定义函数模板1.2使用函数模板1.3两阶段翻译Two-PhaseTranslation1.3.1模板的编译和链接问题1.4多模板参数1.4.1引入额外模板参数作为返回值类型1.4.......
  • js定义函数的三种方法及区别
    1函数定义:2functiontest(){};3函数表达式|匿名函数4vartest=function(){};5构造函数6vartest=newFunction('a','b','函数体');functio......
  • 141. 环形链表 ----- 哈希表、逆向思维、快慢指针
    给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整......
  • C++初阶(类的访问权限以及封装+this指针+构造函数+析构函数+拷贝构造函数+参数列表+友
    面向过程与面向对象C语言是面向过程的,关注的是过程(函数),分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠......
  • C语言借助两个数的大小交换,引入指针。
    前期没有指针的时候,我们的交换只可以通过在被调函数中输出语句,来输出交换后的样子!被调函数的形参是局部变量,生命期仅仅在被调函数中有。因此,主函数中a,b仍然是......
  • 查看磁盘容量指令及函数
       1. 查看磁盘容量指令/**************************************************************/1.df指令(1)整个文件系统有关的数据,都保存在Superblock(超级块)中,df......