函数指针

C语言是面向过程的语言,面向过程语言对于大型工程来说比较吃力,编写和维护都比较麻烦.但是所有操作系统却都是使用C语言编写的,这好像有些不对!

其实C语言也可以用面向对象的思想来编写代码的.最像类的应该就是C语言的结构体了,那么问题又来了,结构体只能存变量,面向对象中函数是不可缺少的.结构体中无法存储函数.为了解决这个问题,咱们主角登场!!函数指针!

函数指针,作为一个指针,自然是可以放到结构体中的,而且它指向的是一个函数,所以我们可以直接通过函数指针来找到我们要使用的函数,方便快捷!C语言华丽的转身变成了面向对象了!

那么让我们看看函数指针的面目:

int (*sh)(char *str,...);
sh=printf;
sh("hello\n");

这个就是函数指针,是指向printf函数的指针,最前面的int是函数的返回值类型,中间的(*sh)表明这个是一个指针,(char*str,...)这个是函数的参数,返回值和参数必须和被指向的函数一样.

转载于:https://www.cnblogs.com/CHYI1/p/5394569.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值