厨房質問スマソ

どんな型でも扱えるqsortという関数がありますよね?
あれは要素を交換するときは1バイトずつ要素の大きさ分交換すればいいんですか?
とりあえず交換するための関数を下のように書いてみたんですが。

static void swap(unsigned char *v1,unsigned char *v2;size_t n)
{
  unsigned char t;

  for(;n--;v1++,v2++)
    t=*v1,*v1=*v2,*v2=t;
}