#technical
توی c این الگو معمولا خیلی دیده میشه :
operator(expr, expr)
حالا این اصلا یعنی چی؟ ببینید هر چیزی که یه operator باشه لزوما نیاز به constant یا identifier برای اجرا شدن نداره بلکه میتونه از expression ها به عنوان operand استفاده کنه
و این کجا مهم میشه اینجا که میفهمید function call هم یه آپریتور هست این یعنی چی؟
یعنی شما میتونید یه به جای :
void f(void) { /* code */ }
int main(void) {
f();
}بنویسید :
void f(void) { /* code */ }
int main(void) {
void (*p)(void) = f;
p();
}
این باعث میشه بعدا بتونید از این قضیه استفاده های بامزه تری هم بکنید پس یکی از مهم ترین نکات در بحث انعطاف پذیری شاید همین نکته باشه...
@farhantbyte