1

ポインターの仕組みを理解しようとしていますが、最初の要素のみへのポインターを使用してすべての配列にアクセスする方法がわかりません

int myArray[10];
for(int i=0; i<10; i++)
{
    myArray[i] = 11*i;
}

int *p;
p = myArray;

//Now how do I access the complete array using the variable p

cout<<*p; //This only prints the first value, how to print all the values
4

6 に答える 6

3

while または for を使用する必要があります。

int i = 0;
while (i < 10)
  {
    cout << p[i];
    i += 1;
  }

ポインターと配列は同じように機能します。配列は、割り当てた最初の要素へのポインタに他なりません。

于 2013-04-08T19:26:33.593 に答える
2

thr 宣言を除いて、配列とポインターは同じ構文を使用して使用できます (これらはメモリ内で異なるため、異なる方法で処理する必要があります)。

于 2013-04-08T19:30:41.313 に答える
2

このように使って、

int *p;
p = myArray;
for(int i=0;i<10;i++)
{
    cout<<*(p+i);
}
于 2013-04-08T19:31:19.570 に答える
1

最初の要素は、配列内の要素の最初のメモリ位置を指します。したがって、この:

myArray[0];

myArray;

同じ場所を指します。配列を埋めるのと同じように、ポインターにインデックスを使用できます。したがって、この:

int *p = myArray;
cout << p[0];
cout << p[1];

他の要素にアクセスします。ループを使用forして、配列内のすべての要素にアクセスできます。これは、最初にデータを入力したときと同じです。

于 2013-04-08T19:31:00.470 に答える