c语言使用函数指针

c语言真的是在下用过的最好的语言了,想一想,用函数指针不就相当于利用函数指针来指定汇编下的cs段寄存器的值嘛!

用汇编其实对应的也可以认为是jmp到一个cs段标号下

好了用汇编其实写起来真的有点麻烦,现在用c来写相对更简单一点。

函数指针其存储结构如下

        返回数据类型   *函数指针  以及参数列表

其对应下面的程序就是

          int (*add1)(int,int)=add;

使用时

指定其参数列表和返回的值赋予的变量即可使用使用的例子如下

#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>

int add(int num1,int num2);
int main(){
   int x,y,k,addp;
   int (*add1)(int,int)=add;
   x=1;
   y=2;
   addp=(*add1)(x,y);
   printf("%d\n",addp); 
   k=addp;
   printf("%d\n",k);
   return 0;
}

int add(int num1,int num2){
   return num1+num2;
}

输出结果如下:

3
3

猜你喜欢

转载自blog.csdn.net/qq_36797488/article/details/109785851