تابع
تابع (function) بلاکی ازکد است که تحت يک نام گروه بندی می شود. بدين ترتيب بلاک کد می تواند بعد با استفاده از نامش اجرا شود. اين عمل فراخوانی تابع (function call) ناميده می شود. وقتی تابعی فراخوانی می شود دستورات درون تابع اجرا می شود. در انتهای تابع اجرا به همان محلی که تابع فراخوانی شده بود برمی گردد. ممکن است پارامترهایی به تابع ارسال شود. معمولا تابع معمولا مقداری را به برنامه فراخوان برمی گرداند.

برنامه ای که از تابع استفاده می کند به صورت ساختيافته (structured) است. يعنی وظايف توسط بخش های مستقل انجام می پذيرد. برنامه نويسی ساختيافته روی طراحی به روش top-down تاکيد دارد. در اين روش مسئله به وظايف مختلف تقسيم می شود و هر وظيفه توسط يک تابع انجام می پذيرد. بدنه تایع اصلی کوچک می شود و جزئيات درون توابع قرار می گيرند. به اين ترتيب نوشتن و اشکال زدائی برنامه های پيچيده آسانتر می شود. علاوه بر اين استفاده مجدد توابع در برنامه های ديگر ميسر می شود.

هر تابع بايد تنها يک کار را انجام دهد و از انجام چند کار در يک تابع بايد پرهيز شود.
تعريف تابع (function definition) شامل کدهائی است که هنگام فراخوانی تابع بايد اجرا شود. تعريف تابع شامل دو قمت است: اعلان و بدنه. اولين خط تعريف تابع اعلان يا هدر است که اسم تابع، نوع مقدار برگشتی و آرگومان های تابع را مشخص می کند. بعد از هدر بدنه تابع قرار می گيرد. بدنه تابع بلاکی از دستورات است که درون يک جفت آکولاد محصور می شود و هر زمان که تابع فراخوانی می شود اجرا می شود.

فرم کلی تعريف تابع به صورت زير است:

return_type function_name( arg-type name-1,...,arg-type name-n)
{
   /* statements; */
}
مثال. تابع مربع يک عدد.

double square(double n)        /* function header */
{
   return n * n;                    /* function body */