c语言中指针的括号

来源:百度知道 编辑:UC知道 时间:2024/05/14 10:00:41
*P+i 和*(p+i)一个意思 吗???
各自都是指什么???

那么括号呢???
书上说是一样的
k&r的《the c programmaing language》》

*p+i ,*为取值,就是从一个地址中取出其值,所以*p就是取出p地址中的值,如:
int a;
int *p;
scanf("%d\n",&a);
p=&a;
printf("%d\n",*p);
上面打印出的就是a的值,所以*p+i就是取地址p中的值加上i
*(p+i)因为有括号所以是p的地址加上i得到一个地址,然后再取该地址中的值。。
完了。

i=1;
int p[]={7,11};
//*p+i=8
*(p+i)=11;

一个是取值后+1,另一个是地址+1取值

一个是取值后 1,另一个是地址 1取值

...
你是不是看错了

应该是错了吧!
楼上的说的很清楚了!
这就不解释了!