函数与指针

简介: 函数与指针
include<stdio.h>
typedef int(FUNC)(int);
int test(int i){
return i*i;
}
void f()
{
printf("Call f()...\n");
}
int main(){
FUNC* pt=test;
void (* pf)()=&f;  //也可以直接写函数名   
printf("pf=%p\n",pf);
printf("f=%p\n",f);
printf("&f=%p\n",&f);
pf();
(*pf)();
printf("Function pointer call:%d\n",pf(2));
return 0;
}


--------------------------------------

回调函数的( 函数指针的使用

---------------------------------------


#include<stdio.h>
typedef int(*Weapon)(int);
void fight(Weapon wp,int arg){
int result=0;
printf("Fight boss!\n");
result=wp(arg);
printf("Boss loss:%d\n",result);
}
int knife(int n){
int ret=0;
int i=0;
for(i:n){
printf("Knife attack:%d\n",1)
ret++;
}
return ret;
}
int gun(int n){
int ret=0;
int i=0;
for(i:n){
printf("Gun attack:%d\n",10);
ret+=10;
}
return ret;
}
int main(){
fight(knife,3);
fight(gun,5);
return 0;
}
相关文章
|
6天前
|
存储 安全 Java
【Golang】(4)Go里面的指针如何?函数与方法怎么不一样?带你了解Go不同于其他高级语言的语法
结构体可以存储一组不同类型的数据,是一种符合类型。Go抛弃了类与继承,同时也抛弃了构造方法,刻意弱化了面向对象的功能,Go并非是一个传统OOP的语言,但是Go依旧有着OOP的影子,通过结构体和方法也可以模拟出一个类。
54 1
|
4月前
|
存储 C语言
指针的函数传参的详细讲解(一)
本文介绍了计算机内存管理与C语言中指针的基本概念及应用。从内存单元的划分到指针的定义,解释了指针作为地址的作用及其数据类型特性。文章通过代码示例详细说明了一级指针、二级指针的使用方法,以及`void*`指针的特点和限制。此外,还探讨了指针运算规则、函数指针传参解引用的原理,并结合链表实例分析了一级与二级指针在实际场景中的区别。最后附带两道指针练习题,帮助读者巩固理解。
78 0
|
11月前
|
存储 人工智能 算法
数据结构实验之C 语言的函数数组指针结构体知识
本实验旨在复习C语言中的函数、数组、指针、结构体与共用体等核心概念,并通过具体编程任务加深理解。任务包括输出100以内所有素数、逆序排列一维数组、查找二维数组中的鞍点、利用指针输出二维数组元素,以及使用结构体和共用体处理教师与学生信息。每个任务不仅强化了基本语法的应用,还涉及到了算法逻辑的设计与优化。实验结果显示,学生能够有效掌握并运用这些知识完成指定任务。
204 4
|
12月前
|
存储 C语言 C++
如何通过指针作为函数参数来实现函数的返回多个值
在C语言中,可以通过将指针作为函数参数来实现函数返回多个值。调用函数时,传递变量的地址,函数内部通过修改指针所指向的内存来改变原变量的值,从而实现多值返回。
|
12月前
|
存储 搜索推荐 C语言
如何理解指针作为函数参数的输入和输出特性
指针作为函数参数时,可以实现输入和输出的双重功能。通过指针传递变量的地址,函数可以修改外部变量的值,实现输出;同时,指针本身也可以作为输入,传递初始值或状态。这种方式提高了函数的灵活性和效率。
利用指针函数
【10月更文挑战第2天】利用指针函数。
74 1
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
128 2
|
程序员 C语言
指针在函数参数和返回值中的使用
指针在函数参数和返回值中的使用
在Linux内核中根据函数指针输出函数名称
在Linux内核中根据函数指针输出函数名称
|
存储 搜索推荐 C语言
C语言中的指针函数:深入探索与应用
C语言中的指针函数:深入探索与应用
318 1