次のプログラムの実行結果はどの様になるでしょうか。このプログラムでは、まず、data[0]からdata[9]に0, 2, …, 18の数が代入されます。次にポインタ変数ptrの初期値としてdata[0]のアドレスを代入後、そのポインタ変数のアドレスをインクリメントすることによって配列の各要素を指すようにし、その値を表示しています。従って、実行結果は、0, 2, …,18の各値が一行毎に出力されることになります。
#include <stdio.h> int main(void) { int i; int data[10], *ptr1; for(i = 0; i < 10; i++){ data[i] = i*2; } ptr1 = &data[0]; for(i = 0; i < 10; i++){ printf("%d\n", *ptr1); ptr1++; } }