有人可以解释 p[-i] printf ("%d", p[-i]) 的作用

标签 c

我的猜测是,在 p[-i] 中,它从当前指向左侧的第 i 个位置开始。我只是一个初学者,所以还有更多的东西吗?

     #include<stdio.h>
     int main() {
     int arr[ ]={0,1,2,3,4};
     int *p,i;mm
        for(p=arr+4, i=0;i<=4;i++)
            printf("%d" , p[-i]);//43210
      }

最佳答案

p 是指向数组末尾的指针。所以 p-i 是指向数组中 p 左边第 i 个位置的指针。这个p[-i]就是那个位置的元素。

关于有人可以解释 p[-i] printf ("%d", p[-i]) 的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48836095/

相关文章:

c - 访问全局整数数组时出现段错误

c++ - GCC 的 __builtin_expect 程序集转储似乎总是下降分支

c++ - 理解 C 中的宏

c - 将指针传递给参数为 void* 变量的函数

c++ - 什么是符号表?

c - 使用 ncurses 打印宽 unicode 字符

c - 来自特定 IP 地址的多播数据

c - C 中的共享内存 - 共享字符串

c++ - cuda 文件没有链接到 C 文件中定义的函数

c - 如何摆脱 perf 中的 "unknown"部分