External Storage Class

Duration: 3 min

This video lesson is available to enrolled students.

Return to /learn/BIHAR-POLYTECHNIC-LECTURER-COMPUTER-SCIENCE/paper-1-programming-language/structures/storage-classes/asset-external-storage-class after enrolling

Inside: a video lesson and guided study material.

Module outline

  1. Discrete Mathematics: Permutation, Combination and Probability / क्रमचय, संचय एवं प्रायिकता, Set Theory, Relations, Functions, Propositional and Predicate Logic, Graph Theory, Group Theory
  2. Digital Logic: Digital Systems & Boolean Basics, Boolean Expression, Boolean Minimization, Logic Gates & Hardware, Combinational Circuit, Sequential Circuits, Number System, Number Representation, Floating Point Rep
  3. Computer Organization and Architecture: Basics of COA, Programming the Basic Computer, Cache Memory Organization, Input Output Organisation, Instr Formats & Modes, Register Transfer and Microoperations, Control Unit Design, Pipelining, Multiprocessors
  4. Programming: Language Design, C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling, OOPS with C++
  5. Data Structures: Introduction to DS, Array, Linked List, Stack, Queue, Tree, Graphs, Hashing
  6. Algorithms: Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms
  7. Theory of Computation: Grammar, Regular Language Properties, Moore & Mealy Machines, Turing Machines
  8. 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, Introduction to TOC, Deterministic FA (DFA), Non-Deterministic FA, Regular Expressions, Pushdown Automata & CFG, Complexity Theory
  9. Operating Systems: Introduction to OS, Process Management, CPU Scheduling, Process Synchronization, Threads & Process Creation, Deadlock, Memory Management, Virtual Memory, Disc Scheduling, File Management, Unix OS, Linux OS, Security
  10. Database Management Systems: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, SQL, Relational Calculus, Transaction Management, Concurrency Control, ORDBMS, NoSQL
  11. Computer Networks: Introduction to CN, Data Communication, 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, Application Layer, Hardware basics, Network Security
AI summary & chapters

AI Summary

An AI-generated summary of this video lecture.

This lecture introduces the external storage class in C programming, detailing its characteristics through a structured table and practical code examples. The instructor explains that external variables have a default initial value of zero, global scope, and a lifetime extending throughout the entire program execution. A C code snippet demonstrates how an external variable `i` is shared between the main function and helper functions like increment() and decrement(), illustrating that modifications in one function affect others due to global visibility. The lesson further clarifies scope conflicts where local variables take precedence over globals and introduces static variables declared outside functions, which share external behavior but are file-scoped. Finally, the video concludes by discussing the rationale behind C's storage classes, emphasizing that programmers should choose them to economize memory space and improve execution speed.

Chapters

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

    The lecture begins by defining the external storage class using a table that lists three key features: default initial value, scope, and life. On-screen text explicitly states the default initial value is Zero, the scope is Global, and the life lasts as long as program execution continues. The instructor uses red underlines to emphasize 'Global' and a checkmark next to 'Zero'. A C code example is then introduced showing an external variable `int i = 1;` declared outside the main function. This code demonstrates how functions like increment() and decrement() access this shared variable, proving that external variables maintain state across function calls.

  2. 2:00 – 2:56 02:00-02:56

    The instructor transitions to discussing variable scope conflicts, explaining that if a local and global variable share the same name, the local variable takes precedence. The slide shows code where `printf` accesses a variable defined in two places, highlighting this shadowing behavior. The lesson then introduces static variables declared outside functions, noting they act like external variables but are limited in scope to the file where defined. The segment concludes with a slide titled 'Which to Use When', which states that Dennis Ritchie provided storage classes so programmers could decide based on two goals: to economize memory space and improve the speed of execution.

The video provides a foundational overview of C storage classes, specifically focusing on the external class. It establishes that external variables are initialized to zero by default and possess global scope, meaning they are accessible from any function within the program. The practical demonstration using `int i = 1;` outside main() effectively shows how this scope allows multiple functions to modify and access the same memory location. The lecture also touches on related concepts like static variables, which offer file-level scope similar to external variables but with different linkage properties. The final section contextualizes these technical details within the broader design philosophy of C, where storage classes are tools for memory optimization and performance tuning rather than rigid rules.

Loading lesson…