#include <stdio.h>
void swap_pointer( int *pp[] );
int main(void)
{
int a = 1;
int b = 2;
int *p[2] = {&a, &b};
int size = sizeof(p) / sizeof(p[0]);
for(int i=0; i<size; i++){
printf("まえ:p[%d] : %p\n", i
, p
[i
] ); }
swap_pointer( p );
for(int i=0; i<size; i++){
printf("あと:p[%d] : %p\n", i
, p
[i
] ); }
return 0;
}
void swap_pointer( int *pp[] )
{
int *temp;
temp = pp[0];
pp[0] = pp[1];
pp[1] = temp;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHN3YXBfcG9pbnRlciggaW50ICpwcFtdICk7CgppbnQgbWFpbih2b2lkKQp7CiAgICBpbnQgYSA9IDE7CiAgICBpbnQgYiA9IDI7CgogICAgaW50ICpwWzJdID0geyZhLCAmYn07CgogICAgaW50IHNpemUgPSBzaXplb2YocCkgLyBzaXplb2YocFswXSk7CgogICAgZm9yKGludCBpPTA7IGk8c2l6ZTsgaSsrKXsKICAgICAgICBwcmludGYoIuOBvuOBiDpwWyVkXSA6ICVwXG4iLCBpLCBwW2ldICk7CiAgICB9CgogICAgc3dhcF9wb2ludGVyKCBwICk7CgogICAgZm9yKGludCBpPTA7IGk8c2l6ZTsgaSsrKXsKICAgICAgICBwcmludGYoIuOBguOBqDpwWyVkXSA6ICVwXG4iLCBpLCBwW2ldICk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0KCnZvaWQgc3dhcF9wb2ludGVyKCBpbnQgKnBwW10gKQp7CiAgICBpbnQgKnRlbXA7CgogICAgdGVtcCA9IHBwWzBdOwogICAgcHBbMF0gPSBwcFsxXTsKICAgIHBwWzFdID0gdGVtcDsKfQo=