در زبان C هنگامی که تابعی درون تابع دیگری اعلان میشود آن تابع را تبدیل اشارهگری به خودش نامند. چنین اشارهگرهایی را میتوان به عنوان آرگومان به توابع دیگر فرستاد که در واقع باعث میشود تابع متناظر با آنها به تابع دیگری ارسال شود و درون آن بتوان بدان دست یافت. از آنجایی که آرگومان حقیقی مورد استفاده همواره متغیر است، بنابراین در فراخوانیهای مختلف تابع دوم میتوان اشارهگرهای گوناگونی (توابع متفاوتی) به آن فرستاد. هر گاه تابعی از طریق آرگومان محلی خود تابعی دیگر را بپذیرد، باید اعلان آن به گونهای باشد که مشخص سازد آرگومان محلی مورد نظر اشارهگری است به تابع. در سادهترین شکل این آرگومان را میتوان به صورت زیر اعلان کرد.
data_type (*function_name) () ;
که در آن data_type نوع داده کمیت بازگشتی تابع ارسالی است. به دنبال این اعلان میتوان به تابع مزبور با عملگر غیرمستقیم دست یافت.