c语言之函数指针和指针函数的区别
时间:2022-07-24
本文章向大家介绍c语言之函数指针和指针函数的区别,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
函数指针:是指向函数的指针变量,因而函数指针本身应该是指针变量,只不过指针变量指向函数。
指针函数:带指针的函数,即本质是一个函数。
函数指针实例:
#include<stdio.h>
#include<iostream>
int max(int, int);
int min(int, int);
int add(int, int);
int process(int a, int b, int(*func)(int a, int b));
int main() {
int a, b;
printf("请输入a,b的值,以空格隔开:n");
scanf_s("%d %d", &a, &b);
printf("a=%d,b=%d,max=%dn", a, b, process(a,b,max));
printf("a=%d,b=%d,min=%dn", a, b, process(a, b, min));
printf("a=%d,b=%d,add=%dn", a, b, process(a, b, add));
system("pause");
return 0;
}
int max(int a, int b) {
if (a >= b) {
return a;
}
else
{
return b;
}
}
int min(int a, int b) {
if (a >= b) {
return b;
}
else
{
return a;
}
}
int add(int a, int b) {
return a + b;
}
int process(int a, int b, int(*func)(int a,int b)) {
return (*func)(a, b);
}
指针函数实例:
#include<stdio.h>
#include<iostream>
#include<string.h>
char* initMemory() {
//开辟32个字节的内存,并用字符指针s指向该内存
char* s = (char*)malloc(sizeof(char) * 32);
return s;
}
int main() {
//定义一个指针接收函数返回值
char* ptr = initMemory();
strcpy(ptr, "hello world");
printf("%sn", ptr);
//释放内存
free(ptr);
system("pause");
return 0;
}
- 基础篇章:React Native 之 TextInput 的讲解
- Linux下 标准错误输出重定向
- CentOs6.5 修改主机名
- 基础篇章:React Native 之 View 和 Text 的讲解
- CentOs7.3 修改主机名
- 基础篇章:React Native之Flexbox的讲解(Height and Width)
- PDF.js专题
- CentOs7.3 编译安装 Nginx 1.9.9
- 基础篇章:关于 React Native 之 RefreshControl 组件的讲解
- CentOs7.3 安装 JDK1.8
- 基础篇章:关于 React Native 之 ListView 组件的讲解
- maven环境快速搭建
- CentOs7.3 搭建 RabbitMQ 3.6 Cluster 集群服务
- CentOs7.3 搭建 Redis-4.0.1 Cluster 集群服务
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 你所不知道的Spring的@Autowired实现细节
- modbus-RTU-crc16——c语言
- KEIL 生成 Binaxf 文件
- Istio可观测性
- 大点干!早点散----------使用Haproxy搭建web群集
- 嵌入式系统FreeRTOS — 互斥信号量
- 面试题系列第6篇:JVM字符串常量池及String的intern方法详解?
- 机器学习(一)——K-近邻(KNN)算法
- 机器学习(二)——K-均值聚类(K-means)算法
- windows下matplotlib的安装
- Python中常见的数据类型总结
- stm32中阻塞模式和非阻塞模式 in blocking mode 与 in non-blocking mode区别
- 机器学习(四)—决策树
- 机器学习(五)—朴素贝叶斯
- C语言面试题——位域及大小端模式的理解