findValue()查找函数
函数原型
int *findValue(int *begin, int *end, int value){while(begin != end && *begin != value)++begin;return begin;}
应用场景&函数讲解
参数讲解
从一个数组中寻找一个特定的值,一般的代入参数会是整个数组,但是我们可有优化,让客户函数适用所有的数据结构,所有这边选择参数为两个指针作为参数。
代码讲解
使用个循环判断,解读为当begin地址不等于end地址并且*begin(这边可以理解为取begin值)不等于输入的结果value,地址begin加一个该类型地址的数值(int *)大小为4。直到地址相等或找到value的值 会返回begin指针。
仿真测试&结果
#include <stdio.h>int *findValue(int *begin, int *end, int value){while(begin != end && *begin != value)++begin;return begin;}int main(int argc, char *argv[]){int a[8]={0x01,0x02,0x03,0,0,0,0,0x11};printf(\"指针地址:%x\\n\\r\",findValue(a,&a[8],2));printf(\"数值:%d\",*findValue(a,&a[8],0x02));return 0;}
结果地址:60ff04
数值为:2