私は現在ダン・グーキンの書籍「ダミーのためのCのプログラミング」でCプログラミングを学んでいます。C言語のポインタを再初期化する
私が現在読んでいるトピックの1つは、配列が実際にポインタであるという事実です。
#include <stdio.h>
int main()
{
int numbers[10];
int x;
int *pn;
pn = numbers; /* initialize pointer */
/* Fill array */
for(x=0;x<10;x++)
{
*pn=x+1;
pn++;
}
pn = numbers;
/* Display array */
for(x=0;x<10;x++)
{
printf("numbers[%d] = %d, address %p\n",
x+1,*pn,pn);
pn++;
}
return(0);
}
私の質問は本当に線17で私は17行目のように、再びポインタをreintializeない場合は、ポインタpn
のPEEK値が表示されていることを実現している:ダンは、次のコードであることを証明しようとしました2番目のfor
ループシーケンスは意味をなさないゴミの束です。したがって、コードが意図したとおりに動作するように、再度ポインタを再インライン化する必要があることを知りたいですか?
"*配列は実際にはポインタです*"いいえ、そうではありません。 – alk
その本を取り除く... – LPs
*あなたのプログラムがあなたが期待する結果を与えるために、 "なぜ再統合する必要があるのですか?" *。 – StoryTeller