TYPES OF FUNCTION

Duration: 7 min

This video lesson is available to enrolled students.

Return to /learn/BTSC-LAB-ASSISTANT/programming-fundamentals/functions-ca695d/function-basics-definition-declaration-and-calling-mechanisms/asset-types-of-function after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. About Course: BTSC About Course
  2. Basics of Computer Science: Basics of COA, Number System, Number Representation
  3. Operating System: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory
  4. Data Structures & Algorithms: Introduction to DS, Array, Stack, Queue, Linked List, Tree, Graphs, Hashing, Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms
  5. Database Management Systems(DBMS): Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Relational Algebra, SQL, Transaction Management, Concurrency Control, Database Recovery
  6. Networking and Internet: Introduction to CN, Data Communication, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Application Layer, Hardware Basics, Network Access Technologies, Network Security
  7. Cyber Security Basics: Cyber Threats and Malware Attacks, Role of Internet and Web Services, Electronic Data Interchange and E-Commerce, Cyber Safety and Security
  8. C Programming (Programming Fundamentals): C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling
  9. C++, OOPs & Java (Programming Fundamentals): Java, OOPS with C++
  10. Python (Programming Fundamentals): Introduction to Python, Tokens, Variables, Data Types, I/O, Operators & Expressions, Control Flow & Looping, Collections & Strings, Functions & Modules
  11. Web Development Basics: Internet Fundamentals, Web Design & Development, Protocols & Services, Web Publishing & Hosting, Server Side & Security, Emerging Technologies, JavaScript-Basics, HTML Basics
  12. Software Engineering: Fundamentals of Software Engineering, Software Requirements and Quality Assurance, Software Design, Estimation and Metrics, Software Testing
  13. Software and Hardware Tools: MS Office Applications, Unix OS, Linux OS
  14. Emerging Trends. AI & Social Ethics: Artificial Intelligence, Emerging Tech Trends, Society, Law & Ethics
  15. Full Mock Test:
AI summary & chapters

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.

Loading lesson…