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)

相关推荐