>>54 >>55
http://codepad.org/ZkghZJHk

上記のとおり
struct addressSheet *test;
で swap を書こうとしてもうまくいかない。

構造体の配列の配列であっても何の配列であっても、swap() にわたるのは配列の先頭。
今回の例では構造体の配列について、その配列の先頭のアドレスが swap() にわたっただけ。

構造体の配列はポインタ配列ではない。構造体のそのものが連続して並んでいる実体の配列だと思う。
ポインタ配列、というのが私にはよくわからないんではあるけれども。