ポインタ演算 – その2
ついて来てるかな?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #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