#include<stdio.h>
main
{
int x[]={1,2,3,4,5};
int i,*j;
j=x;
for(i=0;i<=4;i++)
{
printf("%u",j);
j++;
}
}
65512
65514
65516
65518
65520
しかし、私はprintf
を変更したときに」
printf("%u",&j[i]);
出力があるために:
65512
65516
65520
65524
65528
アドレスは、最初のケースでは2によって異なり、4なぜ第2のケースでは?
j
と&j[i]
を印刷するだけで何が問題になりますか?
@lork Oks "j"は住所でもあり "&j [i]"は住所だけです。なぜ住所が違いますか? – debug
私は彼が住所がなぜ違うのかについてかなり明確だったと思います。 'j'と' i'の両方をインクリメントしているので、 'j'(あなたの最初の例)は' j + i'よりも遅くなります(2番目の例)。最初の例と同じ出力を得るには、 '&j [0]'が必要です。 –