C Programming Tutorial 0/65 lessons ~6 min read Lesson 17

    Functions

    Functions package logic behind a name and parameter list so you can reuse behavior and keep main() readable.

    Course progress0%
    Focus
    10 guided sections
    Practice signal
    Examples included
    Career prep
    Foundation builder

    Introduction

    Functions package logic behind a name and parameter list so you can reuse behavior and keep main() readable.

    Understanding the topic

    Declaration & definition Return type, name, parameter list, body in braces.

    Function call Pass arguments; receive return value.

    Prototype Declare before main if definition comes later.

    • Declaration & definition — Return type, name, parameter list, body in braces.
    • Function call — Pass arguments; receive return value.
    • Prototype — Declare before main if definition comes later.

    Step-by-step explanation

    1. Declaration & definition — Return type, name, parameter list, body in braces.
    2. Function call — Pass arguments; receive return value.
    3. Prototype — Declare before main if definition comes later.

    Syntax reference

    Syntax reference:

    c
    returnType name(type param) { statements; return value; }

    Informative example

    Example program:

    c
    #include <stdio.h>
    int multiply(int a, int b) {
    return a * b;
    }
    int main(void) {
    printf("%d\n", multiply(6, 7));
    return 0;
    }

    Output

    42

    Execution workflow

    1Functions — step by step
    1 / 3

    Declaration & definition

    Return type, name, parameter list, body in braces.

    Best practices

    • Enable warnings: gcc -Wall -Wextra -std=c11 source.c -o app
    • Give every variable a defined value before it is read.
    • Stay inside array bounds — C will not stop you from over-running a buffer.

    Common mistakes

    • Reading uninitialized storage — behavior is undefined.
    • Dismissing compiler warnings instead of fixing root causes.
    • Ignoring NULL returns from malloc, fopen, and similar APIs.

    Hands-on exercise

    Practice problems:

    • Write a function to find max of two numbers
    • Function with no parameters

    Summary

    Functions in C — Define reusable routines with parameters and return types.

    Ready to mark this lesson complete?Track your journey across the entire course.