请问函数指针究竟有什么实际作用?请说的详细点
发布网友
发布时间:2022-05-29 07:53
我来回答
共3个回答
热心网友
时间:2023-10-11 19:39
很多软件在设计~或者编码的时候都按照~见名(函数名)知意的格式~~
比如微软在很多系统文件中都有不少编码~~如果被高手看懂了~~很容易破译他的系统的某些功能~~~但是用函数指针的话~~就知道做这系统的能知道~某个指针有什么功能~~而起了不小的保密性~~~
也就是说真正的函数都被封装起来~~在外面只操作函数指针~~
而不被别人知道我掉用了什么函数~
热心网友
时间:2023-10-11 19:40
我学的也不是很好,但是我这里有个例子,C in a nutshell 上的,看一下我觉得最起码有点感觉。
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double Add (double x, double y)
{
return x+y;
}
double Sub (double x, double y)
{
return x-y;
}
double Mul (double x, double y)
{
return x*y;
}
double Div (double x, double y)
{
return x/y;
}
/*5个“函数指针”的数组*/
double (*funcTable[5])( double, double )
={ Add, Sub, Mul, Div, pow };
char *msgTable[5] = { "Sum", "Difference", "Proct", "Quotient", "Power" };
int main()
{
int i;
double x=12.5, y=4;
printf("Input 2 operands for some arithmetic:\n");
if(scanf("%lf %lf",&x,&y)!=2)
{
printf("Invalid input.\n");
}
for (i=0; i<5; ++i)
{
printf( "%10s: %6.2f\n", msgTable[i], funcTable[i](x,y) );
}
return 0;
}
参考资料:C in a nutshell. (美)Peter Prinz & (美)Tony Crawford
热心网友
时间:2023-10-11 19:40
苍天哪,大地呀
急。。请问一下,指向函数的指针有什么特殊的作用吗?为什么要有指向函数...
指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类型)的一片内存区。以后,我们说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。 指针所指向的内存区和指针所指向...
c语言函数指针的作用。
1、实现面向对象编程中的多态性。2、回调函数。函数指针是指向函数的指针变量。因此“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向整型变量、字符型、数组一样,这里是指向函数。C在编译时,每一个函数都有一个入口地址,该入口地址就是函数指针所指向的地址。有了...
指针有什么用
1. 数据高效操作:指针可以直接访问内存地址,对于大型数据结构如数组、链表等,通过指针可以高效地进行数据的添加、删除和修改操作。2. 动态内存分配:通过指针,我们可以动态地分配或释放内存空间。这在处理不确定大小的数据集时非常有用,如创建一个动态数组。3. 函数参数传递:通过指针作为函数参数,可以...
请问C语言中 指针是什么?有什么作用?请用通俗的语言解释
简单地说指针就是指向变量和对象的地址。指针的用途非常广泛,比如如果你想通过函数改变一个变量的值,就得用指针而不能用值传递。还有在很多时候变量,特别是对象的数据量实在太大,程序员就会用指针来做形参,只需要传递一个地址就行,大大提高了效率。以上还只是指针的初步应用,随着你在C语言学习上...
函数指针和指针函数的区别是什么?
在编程中,函数指针和指针函数是两个不同的概念,它们各有其独特的用途和特性。函数指针,简单来说,就像是一张地图,它存储了一个函数的地址,允许我们在程序中动态地调用该函数。当我们有一个函数的地址并将其赋值给一个函数指针变量时,我们就可以通过这个指针来操作那个函数。相比之下,指针函数则...
函数指针和指针函数有啥区别?
函数指针是一个特殊的指针变量,它指向一个函数的入口地址。这意味着我们可以通过函数指针来调用该函数。在编程中,函数指针可以作为参数传递给其他函数,或者在函数内部作为回调机制的一部分使用。例如,排序算法中的比较函数就可以通过函数指针来传递不同的比较逻辑。通过函数指针,我们可以动态地改变某个操作...
C语言-函数指针与函数名的区别
函数指针在C语言中扮演着多重角色,其主要作用包括:1、参数传递与函数作为参数:函数指针如同普通指针变量,可以进行赋值、取值操作,并作为函数参数传递,实现灵活的函数调用。2、优化函数调用与封装:函数指针提供了一层抽象,保护了函数的实现细节,同时便于实现功能的封装,提高代码的可读性和可维护性。3...
指针的作用是什么啊?
第一,指针的使用使得不同区域的代码可以轻易的共享内存数据。当然小伙伴们也可以通过数据的复制达到相同的效果,但是这样往往效率不太好。因为诸如结构体等大型数据,占用的字节数多,复制很消耗性能。但使用指针就可以很好的避免这个问题,因为任何类型的指针占用的字节数都是一样的(根据平台不同,有4...
指针究竟有什么用?
在硬件工程师的世界里,指针更是不可或缺。他们能够通过指针精准地定位和操作特定内存区域,比如GPIO寄存器,就像直接操作图书馆的特定书架一样高效。总的来说,指针是编程中的一把钥匙,它不仅连接了内存的各个角落,还为高效的数据操作和跨作用域通信提供了关键手段。理解和善用指针,就像在图书馆中游刃...
C语言指针函数和函数指针详细介绍
01 指针函数通常是指函数返回值是指针的一类函数,如图所示。 02 函数指针是指指向某个具体函数的指针变量,在程序设计时可以用来调用某个特定函数或者做某个函数的参数。其形式一般如图: 03 指针函数与函数指针本质上的区别是,指针函数是一个带指针的函数,总的来说还是一个函数,如图就是一个带*name指针的函数 ...