在编程中我们经常会遇到遍历数组,或者取数组中某一位置的值,采取数组索引的方式也是可以的,今天我介绍一个通过指针访问数组数据。
废话不多说,先上代码。
#include <stdio.h>
int main() {
// 定义一个整型数组并初始化
int array[5] = {10, 20, 30, 40, 50};
// 定义一个指向整型的指针
int *ptr;
// 让指针指向数组的第一个元素
ptr = array;
// 通过指针访问和修改数组元素
printf("The first element of the array is: %d\n", *ptr); // 输出:10
*ptr = 5; // 修改第一个元素的值
printf("The first element of the array after modification is: %d\n", *ptr); // 输出:5
// 让指针指向数组的下一个元素
ptr++;
printf("The second element of the array is: %d\n", *ptr); // 输出:20
return 0;
}
- 首先定义了一个包含五个整数的数组
array
并初始化了它的元素。- 然后,我们定义了一个指向整型的指针
ptr
。- 让
ptr
指向数组array
的第一个元素,这是通过将ptr
的值设置为array
的地址实现的。- 使用
*ptr
,我们可以访问和修改ptr
所指向的内存位置的值,即数组的第一个元素。- 通过使用
ptr++
,可以使指针向前移动一位,使其指向数组的下一个元素。- 再次使用
*ptr
,可以访问和修改数组的第二个元素。
通过这种方式,可以使用指针遍历整个数组,或者直接通过指针访问数组的特定元素。注意,当使用指针访问数组时,需要确保指针仍在数组的合法范围内,以防止访问无效的内存区域。