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,可以访问和修改数组的第二个元素。

总结

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

相关推荐
oplp4 小时前
第四章 C语言中的基本输入输出(六)
c语言
程序员东岸6 小时前
《数据结构——排序(中)》选择与交换的艺术:从直接选择到堆排序的性能跃迁
数据结构·笔记·算法·leetcode·排序算法
程序员-King.6 小时前
day104—对向双指针—接雨水(LeetCode-42)
算法·贪心算法
神仙别闹6 小时前
基于C++实现(控制台)应用递推法完成经典型算法的应用
开发语言·c++·算法
Ayanami_Reii6 小时前
进阶数据结构应用-一个简单的整数问题2(线段树解法)
数据结构·算法·线段树·延迟标记
listhi5207 小时前
基于改进SET的时频分析MATLAB实现
开发语言·算法·matlab
Keep_Trying_Go8 小时前
基于Zero-Shot的目标计数算法详解(Open-world Text-specified Object Counting)
人工智能·pytorch·python·算法·多模态·目标统计
xl.liu8 小时前
零售行业仓库商品数据标记
算法·零售
confiself8 小时前
通义灵码分析ms-swift框架中CHORD算法实现
开发语言·算法·swift
做怪小疯子8 小时前
LeetCode 热题 100——二叉树——二叉树的层序遍历&将有序数组转换为二叉搜索树
算法·leetcode·职场和发展