WHAT IS FUNCTIONS

Duration: 9 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-what-is-functions 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.

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

  1. 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. 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().

  3. 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.

Loading lesson…