首页 > 解决方案 > 方括号内的指针?

问题描述

考虑以下代码:

#include <stdio.h>
int main(void){
    char *p="A for Apple";
    char q[15]="B for Ball";
    printf("x=%c y=%c\n",*(p+10)-2,*(&q[4]-2)); 
    printf("u=%c v=%c w=%d\n",p[8],*q+8,8[p]-q[8]);
    return 0;
}

输出:

x=c y=f  
u=p v=J
w=4

问题,我在这里确定如何w=4评估。

是什么8[p]意思?

标签: cpointers

解决方案


a[x]是 的简写*(a + x)。因此,a[x]等价于表达式x[a]。(当然,同样适用8[p]p[8]))


推荐阅读