配列の最初の要素のアドレスを (再帰) 関数に渡すことに関して質問があります。
selectionSort( &b[1], size-1);
私が知っているように、アドレスが関数に渡されるとき、関数パラメータはポインタでなければなりません。selectionSort
メソッドはint b[]
引数として取得します。ポインターではありません。
しかし、コードは問題なく動作します。また、このコードは部分配列を生成します。1 番目の要素を渡すと、サブ配列の 0 番目の要素になりますか?
void selectionSort(int b[], int size)
{
int temp,i;
if (size>=1)
{
for (i = 0; i < size; i++)
{
if (b[i]<b[0])
{
temp=b[0];
b[0]=b[i];
b[i]=temp;
}
}
selectionSort( &b[1], size-1 );
}
}