Video narration
Writing the same calculation directly inside main() gets messy fast. If you need that addition again, you copy the logic-or risk rewriting it differently. Think of a user-defined function like a reusable recipe step: write the task once, then use it whenever needed. Here, the task is addition. Before main(), define it as int add(int a, int b), with return a plus b. This function definition says add returns an integer, receives two integer parameters, and sends back their sum. Now main() is the caller. Write int total = add(3, 4). The function call passes 3 and 4 as arguments. Inside add(), a receives 3 and b receives 4. Then return sends 7 back, and total stores it. The calculation no longer has to be written inside main(). Write it once in add(), and call it again whenever needed, such as add(10, 5), without rewriting the logic. That's the core idea: one named task, reused from main().