Call by Address
Duration: 2 min
This video lesson is available to enrolled students.
Inside: a video lesson and guided study material.
Module outline
- Programming Fundamentals: C Fundamentals, Control Flow, Functions, Arrays & Pointers, Storage Classes, Structures & Enums
- Object Oriented Programming: Object Oriented Programming (OOPS)
- Data Structures (Basic): Introduction to DS, Array, Stack, Queue, Linked List, Tree, Graphs, Hashing
- Algorithms (Basic): Algorithm Analysis, Sorting Algorithms, Greedy Algorithms, Dynamic Programming, Minimum Spanning Trees, Shortest Path Algos, Advanced Algorithms, Time Complexity Analysis
- Coding (Basic): Coding Questions by Yash Sir, C Programming by Yash Sir, Java, Python for Placements by Yash Sir, Programming in C++
- DBMS: Basics of DBMS, ER Diagram, Relational Model & Functional Dependencies, Keys & Integrity Constraints, Normalization (1NF - BCNF), Decomposition Properties & 4NF, File Organization & Indexing, Relational Algebra, Relational Calculus, Transaction Management, Concurrency Control, Database Recovery, ORDBMS, Database Security & Authorization, Enhanced Data Models, Query Processing & Optimization, Data Warehousing & Mining, Big Data Systems, NoSQL
- SQL: SQL
AI summary & chapters
AI Summary
An AI-generated summary of this video lecture.
This lecture segment introduces the 'Call by Address' mechanism in C programming, demonstrating how pointers enable functions to modify original variables. The instructor utilizes a `swap` function to illustrate pass-by-reference semantics, contrasting it implicitly with value passing. The core concept revolves around passing memory addresses using the address-of operator `&` and dereferencing them with `*` to access or alter data at specific locations.
Chapters
0:00 – 1:52 00:00-01:52
The instructor explains 'Call by Address' using a `swap` function, initializing variables x=5 and y=10 at memory addresses 100 and 200. The code `void swap(int *a, int *b)` is shown alongside the main function call `swap(&x, &y)`. Visual diagrams depict arrows from parameters a and b pointing to x and y's addresses. The logic `temp = *a; *a = *b; *b = temp;` is traced step-by-step, showing how values are exchanged at the memory level. The final output confirms x=10 and y=5, proving that modifications inside the function persist in main due to direct address access.
The video effectively visualizes pointer mechanics by mapping abstract memory addresses to concrete variable values. By tracing the execution of `swap`, students observe that passing `&x` and `&y` allows the function to manipulate the original stack variables rather than copies. The use of temporary storage `int temp` is critical for preserving data during the exchange process.

