C和指针之函数之在数组中找特定元素并返回指向该位置的指针
1、问题
在数组中找特定元素并返回指向该位置的指针
2、代码实现
#include <stdio.h>
#include <stdlib.h>
//数组中找特定元素并返回指向该位置的指针
int *find_int(int key, int array[], int array_len)
{
int i;
for (i = 0; i < array_len; i++)
{
if (array[i] == key)
return &array[i];
}
return NULL;
}
int main()
{
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8};
int *p = NULL;
int len = sizeof(a) / sizeof(a[0]);
printf("len is %d\n", len);
p = find_int(5, a, len);
if (p)
{
printf("*p is %d\n", *p);
}
else
{
printf("p is NULL");
}
}
3、运行结果
1111deMacBook-Pro:dabian a1111$ vim find_int.c
1111deMacBook-Pro:dabian a1111$ gcc -g find_int.c -o find_int
1111deMacBook-Pro:dabian a1111$ ./find_int
len is 10
*p is 5
赞 (0)