TYPES OF FUNCTION

Duration: 7 min

This video lesson is available to enrolled students.

Enroll to watch — ISRO Scientist/Engineer 'SC'

AI Summary

An AI-generated summary of this video lecture.

This lecture provides a foundational overview of functions in C programming. It begins by categorizing functions into library functions, such as printf and scanf, which are pre-written by compiler developers, and user-defined functions, which are created by the programmer. The instructor explains that library functions are stored on disk and available to all compilers. The lesson then transitions to the benefits of using functions, emphasizing code reuse and modularity. It concludes with a detailed explanation of passing values between functions, using code examples to demonstrate argument passing, return values, and the concept of pass-by-value where original variables remain unchanged.

Chapters

  1. 0:00 2:00 00:00-02:00

    The instructor introduces the two basic types of functions: Library functions and User-defined functions. He lists examples for library functions like printf() and scanf(), and for user-defined functions like argentina() and brazil(). He explains that library functions are commonly required functions grouped together and stored in a library on the disk, written by people who write compilers. He notes that almost every compiler comes with a standard library and that the procedure for calling both types of functions is exactly the same. The on-screen text explicitly states, 'As the name suggests, library functions are nothing but commonly required functions grouped together and stored in what is called a Library.' He also mentions that this library is present on the disk and written for us by people who write compilers for us.

  2. 2:00 5:00 02:00-05:00

    The lecture addresses the question of why separate functions are used instead of squeezing all logic into main(). The instructor gives two reasons. First, writing functions avoids rewriting the same code over and over. He uses the example of calculating the area of a triangle; if needed later, you jump to the function section rather than rewriting instructions. Second, using functions makes it easier to write programs and keep track of what they are doing. He explains that if operations are divided into separate activities placed in different functions, each can be written and checked more independently, making the program easier to design and understand. The slide text reads, 'Writing functions avoids rewriting the same code over and over.' He further explains that separating code into modular functions makes the program easier to design and understand.

  3. 5:00 7:13 05:00-07:13

    The topic is passing values between functions. The instructor notes that previous functions weren't flexible and uses a mechanic analogy: telling a mechanic to change the engine oil. He presents a program where main receives values a, b, and c and calls calsum() to calculate the sum. He explains that values must be passed to calsum() and the result returned. He discusses two methods for declaring formal arguments: the K&R method and the ANSI method. He clarifies that passing values creates a 'photocopy,' so even if b is changed in fun(), the value of b in main() remains unchanged. The segment ends with a look at scope rules using a display function. The code snippet sum = calsum(a, b, c) is highlighted as the method of passing values. He also notes that there is no restriction on the number of return statements that may be present in a function.

The video systematically builds an understanding of functions, starting with their classification and availability, moving to their structural benefits for code organization, and finally detailing the technical mechanics of data transfer. It emphasizes that functions are not just about code reuse but also about modularity and control. The distinction between pass-by-value and pass-by-reference is implicitly introduced through the 'photocopy' explanation, ensuring students understand that called functions operate on copies of data, preserving the integrity of the calling program's variables. This progression from theory to practical implementation prepares students for writing modular C programs.