码迷,mamicode.com
首页 > 其他好文 > 详细

查找函数和跳转函数

时间:2014-09-07 17:11:35      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   io   ar   div   sp   log   on   

1.

查找函数bsearch()

查找字符在已排列好的字符中的位置,返回第一个匹配的指针,否则NULL

#include<stdio.h>
#include<stdlib.h>

void *bsearch(const void *key,const void *buf,size_t num,size_t size,int (*compare)(const void *,const void *));

 

key是指向关键字的指针,buf是已排列好的字符串(从低到高)num是数组元素数目,size是每个元素占的字节数,compare函数必须是比较参数的函数,返回是arg1<arg2,arg1=arg2,arg1>arg2

这是折半查找必须的参数,参数分别是关键字指针和指向数组元素的指针。

 

2.

#include<setjmp.h>

int setjmp(jmp_buf envbuf);

void longjmp(jmp_buf envbuf,int status);

envbuf是保存当前执行的系统堆栈信息,为longjmp提供跳转的位置,longjmp不返回,但是status作为setjmp的返回值,envbuf是从setjmp得到的。

示例:

 1 #include<setjmp.h>
 2 #include<stdio.h>
 3 
 4 jmp_buf envbuf;
 5 void foo(void);
 6 
 7 int main(void)
 8 {
 9     int i;
10 
11     printf("1\n");
12     i=setjmp(envbuf);
13     if(i==0)
14     {
15         foo();
16         printf("this will not be printed\n");
17     }
18     printf("%d\n",i);
19     return 0;
20 }
21 
22 void foo(void)
23 {
24     printf("3\n");
25     longjmp(envbuf,5);
26 }

 

结果是

1

3

5

查找函数和跳转函数

标签:style   blog   color   io   ar   div   sp   log   on   

原文地址:http://www.cnblogs.com/lhyz/p/3960495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!