サンプル集 > VC > ポインタ

ポインタ

ポインタを使って配列をコピーする。

◆環境
OS xxx
VC xxx

P049.cpp
 1: 
 2: 
 3: 
 4: 
 5: 
 6: 
 7: 
 8: 
 9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
/* PROGRAM NAME : P049.cpp        */
/* AUTHOR       : Yasuhiro.Mizuno */
/* MAKE DAY     : 1996/10/29      */

/*                */
/*  配列のコピー  */
/*                */

#include <stdio.h>

#define YOUSO 10

void Display(int*, int*);

void main(void) {
    int a[YOUSO] = { 2,  4,  6,  8, 10, 12, 14, 16, 18, 20};
    int b[YOUSO] = { 3,  6,  9, 12, 15, 18, 21, 24, 27, 30};
    int i;
    int*pa = a;
    int*pb = b;

    printf("実行前\n");
    Display(pa, pb);

    printf("\n");

    /* 処理 */
    for (i = 0; i < YOUSO; i++, pa++, pb++) {
        *pb = *pa;
    }

    /* 配列の先頭にポインタを戻す */
    pa -= i;
    pb -= i;

    printf("実行後\n");
    Display(pa, pb);
}

void Display(int*pa, int*pb) {
    int i;

    printf("Arrangement A :");
    for (i = 0; i < YOUSO; i++, pa++) {
        printf ("%3d", *pa);
    }
    printf("\n");

    printf("Arrangement B :");
    for (i = 0; i < YOUSO; i++, pb++) {
        printf ("%3d", *pb);
    }
    printf("\n");
}

▲ Top


Copyright (C) Yasuhiro.Mizuno Last Update 2003/11/03