۲ مطلب با کلمه‌ی کلیدی «pointer to function» ثبت شده است

پاسخ تمرین های سری قبل

سلام!

در این پست، پاسخ تمرین های سری قبل قرار داده شده است.

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی

استفاده از تابع به عنوان ورودی یک تابع دیگر (pointer to function)

سلام!

در این جلسه قرار است به یک مبحث بسیار کاربردی بپردازیم. فرض کنید که به شما گفته اند که دو تابع مرتب سازی بنویسید؛ یک تابع یک آرایه از int به عنوان ورودی بگیرد و به صورت صعودی مرتب کند و تابع دیگر یک آرایه از int گرفته و آن را به صورت نزولی مرتب کند. کار بهتر این است که شما یک تابع بنویسید که یک تابع (برای تشخیص وضعیت اعداد نسبت به یک دیگر) را نیز به عنوان ورودی بگیرد و سپس آن را بر اساس آن تابع مرتب کند.

برای این که منظورم را بهتر متوجه شوید، بهتر است ابتدا با روش استفاده از یک تابع به عنوان ورودی یک تابع دیگر آشنا شوید، برای این کار می نویسیم:

void NAME(OUTPUT_TYPE (*NAME) (INPUTS) );

مثلا اگر بخواهید به تابعی به نام sort، تابعی ورودی بدهید که نام آن در تابع sort مثلا compare باشد باید بنویسید:

void sort( bool (*compare) (int a, int b) );

۰ نظر موافقین ۰ مخالفین ۰
روزبه صیادی