プログラミング+α学習ブログ

勉強したことの備忘録です。

配列とポインタを用いて各要素を表示するプログラム

#include <stdio.h>

int main(void)
{
    int i;
    int vc[5] = {10, 20, 30, 40, 50};
    int *ptr = &vc[0];
    
    for (i = 0; i < 5; i++) {
        printf("vc[%d]=%d    %d[vc]=%d    ", i, vc[i],    i, i[vc]);
        printf("*(vc+%d)=%d    *(%d+vc)=%d\n", i, *(vc+i),    i, *(i+vc));
    }
    putchar('\n');
    
    for (i = 0; i < 5; i++) {
        printf("*(ptr+%d)=%d    *(%d+ptr)=%d    ", i, *(ptr+i),    i, *(i+ptr));
        printf("ptr[%d]=%d    %d[ptr]=%d\n", i, ptr[i],    i, i[ptr]);
    }
    
    return (0);
}

実行結果

vc[0]=10    0[vc]=10    *(vc+0)=10    *(0+vc)=10
vc[1]=20    1[vc]=20    *(vc+1)=20    *(1+vc)=20
vc[2]=30    2[vc]=30    *(vc+2)=30    *(2+vc)=30
vc[3]=40    3[vc]=40    *(vc+3)=40    *(3+vc)=40
vc[4]=50    4[vc]=50    *(vc+4)=50    *(4+vc)=50

*(ptr+0)=10    *(0+ptr)=10    ptr[0]=10    0[ptr]=10
*(ptr+1)=20    *(1+ptr)=20    ptr[1]=20    1[ptr]=20
*(ptr+2)=30    *(2+ptr)=30    ptr[2]=30    2[ptr]=30
*(ptr+3)=40    *(3+ptr)=40    ptr[3]=40    3[ptr]=40
*(ptr+4)=50    *(4+ptr)=50    ptr[4]=50    4[ptr]=50