TYPES OF FUNCTION

Duration: 7 min

This video lesson is available to enrolled students.

Return to /learn/MPPSC-ASSISTANT-PROFESSOR-COMPUTER-SCIENCE-PAPER-2/c-programming/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: About the Course
  2. Paper 1 | General Studies: State Wise GK
  3. Paper 1 | Information and Communication Technology: Role of Internet and Web Services, Security in Mobile and Wireless Computing
  4. Paper 1 | Current Affairs: GK- Current Affairs
  5. Paper 2 | Discrete Mathematical Structure: Digital Systems & Boolean Basics, Logic Gates & Hardware, Boolean Expression, Boolean Minimization, Set Theory, Relations, Functions, Graph Theory, Group Theory, Propositional and Predicate Logic, Probability
  6. Paper 2 | Digital Computer Organization And Architecture: Number System, Number Representation, Sequential Circuits, Combinational Circuit, Basics of COA, Floating Point Rep, Cache Memory Organization, Input Output Organisation, Pipelining, Instr Formats & Modes, Register Transfer and Microoperations, Control Unit Design, Programming the Basic Computer
  7. Paper 2 | C Programming: C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling
  8. Paper 2 | Programming Languages & Object-Oriented Programming Concepts: Java, OOPS with C++, Java Fundamentals, Array, String, IO & References
  9. Paper 2 | Python: Introduction to Python, Tokens, Variables, Data Types, I/O, Operators & Expressions, Control Flow & Looping, Collections & Strings, Functions & Modules, File Handling & Data Analysis
  10. Paper 2 | Data Structure And Algorithms: Introduction to DS, Array, Stack, Queue, Linked List, Tree, Graphs, Hashing, Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Minimum Spanning Trees, Advanced Algorithms
  11. Paper 2 | Operating System: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Deadlock, Threads & Process Creation, Memory Management, Virtual Memory, Disc Scheduling, File Management, Unix OS
  12. Paper 2 | Theory Of Computation: Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Grammar, Regular Language Properties, Moore & Mealy Machines, Pushdown Automata & CFG, Turing Machines, Complexity Theory
  13. Paper 2 | Compiler Design: Intro to Compilers, Lexical Analysis, Grammar & CFG, Syntax Analysis: Top-Down, Syntax Analysis: Bottom-Up, Semantic Analysis & SDT, Intermediate Code Gen, Code Optimization, Run Time Environment
  14. Paper 2 | Database Management System: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, Relational Algebra, SQL, Transaction Management, Concurrency Control, Database Recovery, Database Security & Authorization, Enhanced Data Models
  15. Paper 2 | Computer Network And Information Security: Introduction to CN, Data Communication, Application Layer, Hardware basics, Cyber Threats and Malware Attacks, Network Security, DLL: Access Control, DLL: Flow Control, DLL: Error Control, DLL: Framing, Data Link Layer - Ethernet, Net Layer: IPv4 & Proto, Net Layer: IP Addressing, Net Layer:Routing Protocol, Transport Layer Services, TL: Congestion & UDP
  16. Paper 2 | Software Engineering: Fundamentals of Software Engineering, Software Requirements and Quality Assurance, Software Design, Estimation and Metrics, Software Testing, Software Maintenance and Configuration Management
  17. Paper 2 | Current Trends & Technologies: Emerging Tech Trends, Approaches to AI, Search Algorithms, Game Playing, Knowledge Representation, Planning, Multi Agent Systems, Fuzzy Sets, Natural Language Processing, Artificial Neural Networks, Genetic Algorithms, Artificial Intelligence, Data Warehousing & Mining, Electronic Data Interchange and E-Commerce, Terms & Abbreviations
  18. Paper 2 | Full Length Mock Tests:
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…