mainの中で宣言された2つの文字列型変数aとbがあるとします。これらの2つの変数の値を交換する関数を定義するには、どうしたらいいでしょうか?
と、いうのが今回のテーマです。(^_^;
では、一体どうしたらいいのでしょうか?
void strswap(char **a,char **b){
char *x;
x=*a;
*a=*b;
*b=x;
}
あと、main側の、strswap関数を呼ぶところなのですが、strswap(&a,&b);といった具合に、aとbはポインタであるにも関わらず、それらの前に単項演算子&がついてしまいます。というのも、ここで関数に渡すのが、char型のポインタ(つまり文字列型)のアドレスになるからです。よって、この書き方が正解なのです。
つづく(最近短いな・・・)。