Top >C言語入門 とりあえずのC言語

8. ポインタ:用例

ポインタ:用例
用例 8.1

 10個の数値を入力して、表示するプログラムです

#include <stdio.h>

main( )
{
    int     values[10];
    int     i;

    for( i = 0 ; i < 10 ; i++ )
        scanf( "%d", values + i );

    for( i = 0 ; i < 10 ; i++ )
        printf( "%d, ", *( values + i ) );
}
  • values + i は、&values[i] と同じ意味を持ちます
  • *( values + i ) は、values[i] と同じ意味を持ちます
用例 8.2

 入力された文字列を3回繰り返した文字列を作成し表示するプログラムです

#include <stdio.h>

main( )
{
    char    pattern[200];
    char    str[200];
    int     i;
    char*   pdst = str;
    char*   psrc;

    scanf( "%s", pattern );

    for( i = 0 ; i < 3 ; i++ ){    // 3回、繰り返し
        psrc = pattern;

        while( *psrc )
            *pdst++ = *psrc++;
    }

    *pdst = 0;        // 終端の 0

    printf( "%s\n", str );
}
  • *pdst++ = *psrc++;では、pdst、psrcの値が使用されてからインクリメントが行われます
PAPER BOWL
NEZEN