一个C的例子
#include <stdlib.h> #include <stdio.h> #include <string.h> //普通的search函数 int search(int * arr, size_t size, int target) { for(int i=0;i<size;i++) { if(arr[i] == target) { return i; } } return -1; } //通用的search函数 int search_template(void* arr, size_t size, void* target, size_t element_size, int(*func_cmp)(void*,void*) ) { for(int i=0;i<size;i++) { if( func_cmp((unsigned char*)arr + element_size * i, target) == 0 ) { return i; } } return -1; } //回调函数,专门用于比较int类型 int int_cmp(int *x, int* y) { return *x - *y; } //typdef [内容] [别名],这里定义的别名就是 Book typedef struct Book_str { char* name; char* info; } Book; //回调函数 int(*cmp)(void*,void*) 就是要调用的函数 void xx(void* a1, void* a2, int(*cmp)(void*,void*)) { int x = cmp(a1,a2); printf("xx= %d\n",x); } int book_cmp(Book* b1, Book* b2) { int n= strcmp(b1->name, b2->name); if(n != 0) { return n; } return strcmp(b1->info,b2->info); } int main() { int arr[] = {5,6,1,4,6,11,34,101}; //int result = search(arr,8,34); int target = 34; int* p = ⌖ int result= search_template(arr,8,p, 4, int_cmp); //printf( "%d", sizeof(int)); printf("result=%d\n",result); Book *b1 = (Book *)malloc(sizeof(Book)); b1->name = (char *)malloc(sizeof(char) *10); b1->name="123"; b1->info = (char*)malloc(sizeof(char)*10); b1->info="123"; Book *b2 = (Book *)malloc(sizeof(Book)); b2->name = (char *)malloc(sizeof(char) *10); b2->name="abc"; b2->info = (char*)malloc(sizeof(char)*10); b2->info="abc"; xx(b1,b2,book_cmp); free(b1); free(b2); b1 = (void*)0; b2 = (void*)0; }
相关推荐
内用50多个C语言例子,适合于初学者,可根据例子自学C语言
IccAVR C语言例子程序源程序IccAVR C语言例子程序源程序IccAVR C语言例子程序源程序
C语言例子80题
该程序是我写的博客“一起talk C栗子吧(第四十四回:C语言实例--深度优先遍历一)”的配套程序,共享给大家使用
LT8900收发c语言例子,LT8900是一款由ldctek公司独立开发低成本,高集成度的2.4GHZ的无线收发芯片,片上集成发射机,接收机,频率综合器,GFSK调制解调器。发射机支持功率可调,接收机采用数字扩展通信机制,在复杂...
MSP430F5438 C语言例子 ti 的Demo 很全
c语言例子,感谢兴趣,挣点分。有用就下载,拥有一个万年历
dsp 2407 C语言例子 io pwm adc sci can timer
C语言例程,100个小例子,C语言初学,简单例子
很多c语言的经典!~~特别是在算法方面!!
单片机C语言例子大全_1
供刚接触学习C语言的人参考用,例子是最基础的,注释暂无
适配器模式-c语言例子(未完成)
c语言编程的一百个例子,每个例子都有原题,编程与解析
1. 可以直接在ndk环境下编译 2. 纯c语言的json解析 3. 里面有个简单的例子,相关api很简单请查看cJSON.h说明
刚搜索到的,好不容易下载的,给大家共享,是很不错的C语言方面的基础学习!
83个51单片机C语言例子 包含 温度 时钟 红外 电机 1602 12864 1302 18B20 adc0832 24c02 数码管 流水灯 串口 步进电机 按键 sd卡 彩屏显示 等等实例
C语言例子1
应该蛮实用的 C语言的经典例子 经典 经典C语言的经典例子 经典 经典
c语言学习,c语法,c例子,c注意事项,学习c的最好书籍,简单