在 Linux 内核代码,特别是驱动代码中经常见到的用法是使用一个标准结构,后面的代码基于这个结构来实现,类似面向对象的多态特性。
在 C 语言里面借助结构体和函数指针实现的这个功能,这里我们写了个例子,提取了关键代码:
#include
struct s_new{
char name[10];
char* (* my_method)(char *name);...
分类:
系统相关 时间:
2014-05-23 07:58:18
阅读次数:
324
描述:写出一个程序,接受一个有字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
知识点:字符串,函数,指针
题目来源:内部整理
练习阶段:初级
运行时间限制:10Sec
内存限制:128MByte
输入:输入一个有字母和数字组成的字符串,和一个字符。
输出:输出输入字符串中含有该字符的个数。
样例输入:
ABCDEF...
分类:
其他好文 时间:
2014-05-22 12:52:22
阅读次数:
305
描述:写出一个程序,接收一个十六进制的数值字符串,输出该数值的十进制字符串。
知识点:字符串,循环,函数,指针
题目来源:内部整理
练习阶段:初级
运行时间限制:10sec
内存限制:128MByte
输入:输入一个十六进制的数值字符串。
输出该数值的十进制字符串。
样例输入:0xA
样例输出10
温馨提示:华为的系统是不需要有提示信息的。"请输入十六进制数:","please...
分类:
其他好文 时间:
2014-05-22 08:15:33
阅读次数:
337
在 Qt5 中,提供更多 C++11 的特性支持,接下来我们将进行详细的说明。slots
(槽) 的 Lambda 表达式Lambda表达式是 C++11
中的一个新语法,允许定义匿名函数。匿名函数可用于使用小函数作为参数,而无需显式的进行声明。之前可以通过编写函数指针来达到同样的目的。在 Qt 4...
分类:
编程语言 时间:
2014-05-19 12:28:11
阅读次数:
373
C语言实现多态的原理:函数指针
何为函数指针?答案:C Programming Language. 可以查阅下,从原理上来讲,就是一个内存地址,跳过去执行对应的代码段。
既然如此,在运行时决定跳到哪个地方去执行特定的代码即可。
一个简单的版本:
以音频解码器作为例子:AAC 解码器,Mpeg解码器,以及其他类型的解码器。
那手动的多态可能会这样实现:
U32 audioHandle...
分类:
其他好文 时间:
2014-05-18 14:27:14
阅读次数:
309
如果使用typedef 是这样的//可以把一个小写字母变成大写//char
(*pFun)(char); typedef char (*PTRFUN)(char); PTRFUN pFun; char glFun(char a){
return a & 223;} void print(int a....
分类:
编程语言 时间:
2014-05-17 01:24:44
阅读次数:
315
本文转载自深山老林1.什么是委托?委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。2.委托有什么特点?委托类似于 C++
函数指针,但它们是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不必与委托签名完全...
分类:
其他好文 时间:
2014-05-16 07:55:24
阅读次数:
284
http://hipercomer.blog.51cto.com/4415661/792300
分类:
编程语言 时间:
2014-05-15 22:16:31
阅读次数:
297
bind并不是一个单独的类或函数,而是非常庞大的家族,依据绑定的参数个数和要绑定的调用对象类型,总共有十个不同的形式,但它们的名字都叫bind.
bind接受的第一个参数必须是一个可调用对象f,包括函数,函数指针,函数对象和成员函数,之后bind接受最多9个参数,参数的数量必须与f的参数数量相等 _...
分类:
其他好文 时间:
2014-05-14 08:50:09
阅读次数:
348
问答:动态链接和静态链接的异同linux系统从加电到用户登陆的过程操作系统的架构图例操作系统如何保证文件和进程的安全TCP/IP协议的组成和结构解释执行和编译执行的异同c语言部分sizeOf对数组,malloc,指针,的值。i++,++i在同一个表达式里求值。指针,数组指针,指针数组,函数指针,函数...
分类:
其他好文 时间:
2014-05-14 07:30:07
阅读次数:
319