C语言通过指针访问数组元素介绍

介绍

在编程中我们经常会遇到遍历数组,或者取数组中某一位置的值,采取数组索引的方式也是可以的,今天我介绍一个通过指针访问数组数据。

废话不多说,先上代码。

c 复制代码
#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;
}
代码讲解
  1. 首先定义了一个包含五个整数的数组array并初始化了它的元素。
  2. 然后,我们定义了一个指向整型的指针ptr
  3. ptr指向数组array的第一个元素,这是通过将ptr的值设置为array的地址实现的。
  4. 使用*ptr,我们可以访问和修改ptr所指向的内存位置的值,即数组的第一个元素。
  5. 通过使用ptr++,可以使指针向前移动一位,使其指向数组的下一个元素。
  6. 再次使用*ptr,可以访问和修改数组的第二个元素。

总结

通过这种方式,可以使用指针遍历整个数组,或者直接通过指针访问数组的特定元素。注意,当使用指针访问数组时,需要确保指针仍在数组的合法范围内,以防止访问无效的内存区域。

相关推荐
To_OC11 小时前
LC 994 腐烂的橘子:人人都说是 BFS 入门题,我却写了三遍才过
javascript·算法·leetcode
金銀銅鐵14 小时前
[Python] 扩展欧几里得算法
python·数学·算法
To_OC17 小时前
LC 200 岛屿数量:经典 DFS 入门题,我第一次写居然连方向都搞错了
javascript·算法·leetcode
To_OC1 天前
LC 128 最长连续序列:别上来就排序,O (n) 解法才是这题的灵魂
javascript·算法·leetcode
05Kevin2 天前
lk每日冒险题--数据结构6.27
算法
To_OC2 天前
从一次栈溢出报错说起,我把递归彻底扒明白了
javascript·算法·程序员
千纸鹤安安3 天前
千问Qwen-AgentWorld来了:一个语言模型搞定七大Agent场景,GPT-5.4都输了
算法
七牛开发者3 天前
MCP 到底是什么?为什么 Agent 都想接上它
算法·aigc·agent