5.3 ポインタと配列 K&R プログラミング言語C
2010年02月01日
5.3 ポインタと配列
#include <stdio.h> int main(void) { int i, len; int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int *pa; len = (sizeof a) / (sizeof a[0]); printf("a[] => "); for (i = 0; i < len; i++) { printf(",%d", a[i]); } printf("\n"); /* a は配列先頭のアドレス */ pa = a; /* pa = &a[0]; と同じ */ printf("*pa => "); for (i = 0; i < len; i++) { printf(",%d", *pa++); } printf("\n"); /* *(a+i) は a[i] と同じ */ printf("*(a+i) => "); for (i = 0; i < len; i++) { printf(",%d", *a+i); } printf("\n"); /* 再び pa を配列先頭のアドレスを指すようにする */ pa = a; printf("pa[i] => "); for (i = 0; i < len; i++) { printf(",%d", pa[i]); } printf("\n"); return 0; }
実行結果
$ ./ptr_ary a[] => ,1,2,3,4,5,6,7,8,9,10 *pa => ,1,2,3,4,5,6,7,8,9,10 *(a+i) => ,1,2,3,4,5,6,7,8,9,10 pa[i] => ,1,2,3,4,5,6,7,8,9,10
プログラミング言語C 第2版 ANSI規格準拠
posted with amazlet at 09.11.27
B.W. カーニハン D.M. リッチー
共立出版
売り上げランキング: 9726
共立出版
売り上げランキング: 9726