私はコールバックを理解しようとしていますが、アイデアは得ていますが、なぜそれが本当に必要なのか理解できません。
具体的には、通常の関数呼び出しに比べてどのような利点がありますか? 私はここで受け入れられた答えを見ています: Cの「コールバック」とは何ですか?それらはどのように実装されていますか?
関数ポインターを使用せずに、以下で同じことをやり直しました。それはこれとどう違うのですか?
void populate_array(int *array, size_t arraySize)
{
for (size_t i=0; i<arraySize; i++)
array[i] = getNextRandomValue();
}
int getNextRandomValue(void)
{
return rand();
}
int main(void)
{
int myarray[10];
populate_array(myarray, 10);
...
}
下位層のソフトウェアが上位層で定義された関数を呼び出す必要がある場合にのみ有益ですか?