फंक्शंस कोड के सेल्फ़-कंटेंड ब्लॉक्स होते हैं जिन्हें प्रोग्राम के अन्य भागों से भी कॉल किया जा सकता है। इन के उपयोग से कोड को दोहराने में आसानी होती है और ये प्रोग्राम को पढ़ने और बदलने में आसान भी बना देता है।       हर प्रोग्राम के शुरुआत में मौजूद main() लाइन, फंक्शन के उदाहरण है, और वैसे ही getchar() भी।  कुशल और आसानी से पढ़े जा सकने वाले कोड के लिए फंक्शंस बहुत ही ज़रूरी होते हैं। अपने कोड को एक दिशा प्रदान करने के लिए फंक्शंस का सही रूप से इस्तेमाल करें। फंक्शंस का निर्माण सही रूप से तभी होता है जब आप को पता हो कि आप इस से क्या करवाना चाहते हैं। "return_type name ( argument1, argument2, etc.);" फंक्शन का बेसिक सिंटेक्स है। जैसे कि दो नंबर को जोड़ने के लिए फंक्शन का निर्माण करना:   int add ( int x, int y );    यह एक ऐसे फंक्शन का निर्माण करेगा जो दो इंटिजर्स (x और y) को जोड़ेगा और इन के परिणाम को रिटर्न करेगा। आप एक ऐसे फंक्शन की रूपरेखा तैयार कर सकते हैं, जिस में यूज़र के द्वारा दो नंबर एंटर होंगे और फिर उन को जोड़ेगा भी। इस प्रोग्राम के अंदर ये नंबर किस प्रकार से जुड़ते हैं और इस का उपयोग इनपुट नंबर्स को बदलने में किस प्रकार से होता है, दर्शाया जाएगा।   #include <stdio.h>  int add ( int x, int y );  int main() {   int x;   int y;    printf( "Enter two numbers to add together: " );   scanf( "%d", &x );   scanf( "%d", &y );   printf( "The sum of your numbers is %d\n" , add( x, y ) );   getchar(); }  int add ( int x , int y ) {   return x + y; }    ध्यान दें कि यह रूपरेखा अभी भी प्रोग्राम के सबसे ऊपर स्थित होती है। यह कंपाइलर को यह बताता है कि जब फंक्शंस को कॉल किया जाए तो क्या उम्मीद की गई है और क्या परिणाम मिल रहा है। इस की ज़रूरत तब ही होती है जब आप प्रोग्राम में बाद में फंक्शन का निर्माण करना चाह रहे हैं। आप main() फंक्शन के पहले add() फंक्शन डिफाइन कर सकते हैं। फंक्शन की असली कार्यक्षमता को प्रोग्राम के अंत में डिफाइन किया जाता है main() फंक्शन यूज़र से इंटिजर लेता है और फिर इसे आगे की प्रक्रिया के लिए add() फंक्शन में भेज देता है। add() फंक्शन परिणामों को main() फंक्शन पर पहुँचा देता है।  अब add() डिफाइन हो चुका है, तो इसे प्रोग्राम में कहीं से भी कॉल किया जा सकता है।
أساسيات الدوال. البدء بوضع الإطار الرئيسي للدالة. إضافة الدالة إلى البرنامج.