POINTERS DECLARATION
Duration: 4 min
This video lesson is available to enrolled students.
Inside: a video lesson and guided study material.
Module outline
- Discrete Mathematics: Permutation, Combination and Probability / क्रमचय, संचय एवं प्रायिकता, Set Theory, Relations, Functions, Propositional and Predicate Logic, Graph Theory, Group Theory
- Digital Logic: Digital Systems & Boolean Basics, Boolean Expression, Boolean Minimization, Logic Gates & Hardware, Combinational Circuit, Sequential Circuits, Number System, Number Representation, Floating Point Rep
- 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
- Programming: Language Design, C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums, DMA, Macros, Scoping & File Handling, OOPS with C++
- Data Structures: Introduction to DS, Array, Linked List, Stack, Queue, Tree, Graphs, Hashing
- Algorithms: Algorithm Analysis, Time Complexity Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms
- Theory of Computation: Grammar, Regular Language Properties, Moore & Mealy Machines, Turing Machines
- 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
- 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
- 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
- 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.
The lecture provides a detailed explanation of C pointer declarations and the advanced concept of pointers to pointers. It starts by defining pointers as variables capable of holding memory addresses, emphasizing that since addresses are whole numbers, pointers always contain whole numbers. The instructor clarifies common misconceptions, such as `float *s` storing an address of a float rather than a float value itself. The lesson then extends this concept to show that a variable can be a pointer to another pointer. Using the code `int i = 3, *j, **k;`, the instructor demonstrates how `j` holds the address of `i` and `k` holds the address of `j`. He begins analyzing the code's output, marking specific `printf` statements to distinguish between printing addresses and values.
Chapters
0:00 – 2:00 00:00-02:00
The instructor introduces pointer declarations like `int *alpha`, `char *ch`, and `float *s`, explaining they hold addresses. He notes that addresses are always whole numbers. He then introduces a code snippet `int i = 3, *j, **k;` to demonstrate pointers to pointers. He explains the initialization `j = &i` and `k = &j`. He starts annotating the `printf` statements on the screen, marking the first few with an 'x' to indicate they print addresses. He writes on the board that `i` holds 3, `j` holds an address (e.g., 65524), and `k` holds an address (e.g., 65522).
2:00 – 3:38 02:00-03:38
The instructor displays the program output and draws a memory diagram. The diagram shows `i` containing 3 at address 65524, `j` containing 65524 at address 65522, and `k` containing 65522 at address 65520. He explains the chain of pointers: `k` points to `j`, which points to `i`. He goes through the remaining `printf` statements, marking them with 'y' to show they print values. He explains that `*j` and `**k` both dereference to the value 3. The segment concludes with a slide titled 'Back to Function Calls', indicating a shift in topic.
The lesson progresses from fundamental pointer definitions to the more complex concept of pointers to pointers. By using a concrete code example with `i`, `j`, and `k`, the instructor visually demonstrates memory allocation and dereferencing. The transition from explaining declarations to analyzing specific `printf` outputs and memory diagrams solidifies the understanding of how pointers chain together to access values indirectly. This sets the stage for understanding function calls by reference.

