WHAT IS FUNCTIONS
Duration: 9 min
This video lesson is available to enrolled students.
AI Summary
An AI-generated summary of this video lecture.
The video provides a foundational lecture on functions in the C programming language. It begins by defining a function as a self-contained block of statements that performs a coherent task, using the analogy of hiring a person to do a specific job. The instructor explains the mechanism of "calling" a function, where control transfers from the calling function (typically main) to the called function and returns upon completion. The lesson covers the mandatory presence of the main function in every C program and demonstrates that the order of function definition does not dictate the order of execution. Finally, it distinguishes between library functions, which are pre-written and provided by the compiler, and user-defined functions created by the programmer. This lecture serves as an introduction to modular programming in C.
Chapters
0:00 – 2:00 00:00-02:00
The video starts with a "Break" slide before transitioning to a slide titled "1 – What is a Function". The instructor introduces the concept by stating, "Knowingly or unknowingly we rely on so many persons for so many things." He compares human reliance on others (like a mechanic or gardener) to a computer program's need for assistance. The slide text explains that a computer program "cannot handle all the tasks by itself" and instead "requests other program like entities—called ‘functions’ in C—to get its tasks done." This section establishes the conceptual basis for why functions are necessary in programming. The instructor emphasizes that even though man is an intelligent species, he "cannot perform all of life’s tasks all alone." He mentions that a program finds itself in a similar situation.
2:00 – 5:00 02:00-05:00
The instructor presents a code example where main() calls message(). He explains that when main() calls message(), "control passes to the function message(). The activity of main() is temporarily suspended." He illustrates this with a red arrow pointing from message(); in main() to the message() definition. He then shows a more complex example where main() calls italy(), brazil(), and argentina(). He draws red circles around each function block to emphasize they are separate entities. He concludes this section by stating, "If a C program contains more than one function, then one (and only one) of these functions must be main(), because program execution always begins with main()." He also notes that "Any C program contains at least one function." He explains that if a program contains only one function, it must be main().
5:00 – 9:20 05:00-09:20
The lecture addresses the order of function definitions. A code snippet shows main() calling message1() and message2(), but message2() is defined before message1(). The instructor circles the function blocks and states, "The order in which the functions are defined in a program and the order in which they get called need not necessarily be same." He then summarizes the two types of functions: "Library functions Ex. printf(), scanf() etc." and "User-defined functions Ex. argentina(), brazil() etc." He explains that library functions are "commonly required functions grouped together and stored in what is called a Library," written by compiler writers, whereas user-defined functions are created by the programmer. He adds that "The procedure of calling both types of functions is exactly same." He also mentions that "Almost always a compiler comes with a library of standard functions."
The lesson systematically builds an understanding of C functions from concept to implementation. It moves from the high-level analogy of outsourcing tasks to the technical details of control flow and function calls. By demonstrating that definition order is flexible and distinguishing between standard library and custom functions, the instructor provides a comprehensive overview of how functions structure a C program, preparing students for writing modular and efficient code. The progression from simple examples to more complex calls ensures a clear understanding of the core concepts.