用C写一个返回数组地址的函数,使用该函数调用获取数组值
时间: 2024-10-25 11:03:37 浏览: 10
C语言中数组作为函数的参数以及返回值的使用简单入门
在C语言中,你可以定义一个函数,它接受数组名作为参数并返回指向数组首元素的指针。这里是一个简单的示例:
```c
#include <stdio.h>
// 函数声明,返回数组的指针
void* getArrayAddress(int arr[], int size) {
return arr; // 返回数组的首地址
}
int main() {
int my_array[5] = {1, 2, 3, 4, 5};
// 调用函数并打印数组的地址
void* ptr = getArrayAddress(my_array, sizeof(my_array) / sizeof(my_array[0]));
printf("数组my_array的地址: %p\n", ptr);
// 通过指针访问数组元素
for (int i = 0; i < 5; ++i) {
printf("元素 %d: %d\n", i, *(int*)ptr + i); // 使用(void*)转换后间接访问数组
}
return 0;
}
```
在这个例子中,`getArrayAddress`函数接受一个整数数组和数组大小,然后返回数组的首地址。在`main`函数中,我们首先获取数组的地址,然后通过指针遍历数组并打印其内容。
请注意,当你通过指针间接访问数组元素时,需要将指针强制转换为适当的类型(`int*`),这是为了确保内存寻址正确。
阅读全文