ポインタ演算 – その2
ついて来てるかな?
#include <stdio.h> int main(int argc, char *argv[]) { char str[] = "0123456789"; char *p = str; printf( "(p + 0): %s\n", (p + 0) ); printf( "(p + 1): %s\n", (p + 1) ); printf( "(p + 2): %s\n", (p + 2) ); printf( "(p + 3): %s\n", (p + 3) ); printf( "(p + 4): %s\n", (p + 4) ); printf( "(p + 5): %s\n", (p + 5) ); printf( "(p + 6): %s\n", (p + 6) ); printf( "(p + 7): %s\n", (p + 7) ); printf( "(p + 8): %s\n", (p + 8) ); printf( "(p + 9): %s\n", (p + 9) ); return 0; }
実行結果
(p + 0): 0123456789
(p + 1): 123456789
(p + 2): 23456789
(p + 3): 3456789
(p + 4): 456789
(p + 5): 56789
(p + 6): 6789
(p + 7): 789
(p + 8): 89
(p + 9): 9
配列の最後に’\0’が入ってるのは、もう聞き飽きたかな?
今回は、先頭アドレスを1つずつずらして出力したよ。
予想通りの結果になったかな?
Leave a Comment