Two point two Argument Passing Methods
Two point four One-Dimensional Arrays
Two point six Arrays as Function Arguments
Two point eight String Handling in C
Two point ten Multidimensional String Arrays
Two point fourteen Self-Assessment Questions (Subjective and Case-Based)
Two point sixteen References
Two point one point one Purpose of Functions in Modular Programming
Two point one point two Function Declaration and Definition
Function Declaration (Prototype)
Two point one point three Calling a Function and Execution Flow
Two point one point four Return Types and void Functions
Use return statement to send a value back:
Two point one point five Scope and Lifetime of Variables in Functions
Example of static variable:
Two point two Argument Passing Methods
Two point two point one Pass by Value
Two point two point two Pass by Reference (using Pointers)
Two point two point three Advantages and Use Cases of Each Method
Example Use Case: Swapping Two Numbers
Two point two point four Common Pitfalls and Errors
Two point three Recursion in C
Two point three point one Concept of Recursion
2.3.2 Base Case and Recursive Case
Two point three point three Comparison with Iteration
Two point three point four Examples: Factorial, Fibonacci
Two point three point five Stack Usage and Limitations
Limitations of Recursion:
Two point four One-Dimensional Arrays
Two point four point one Declaration and Initialization
Two point four point two Accessing and Modifying Elements
Two point four point three Iterating with Loops
Example: Input and Output of Array Elements int marks of size five;
Two point four point four Array Bounds and Memory Layout
Two point four point five Use Cases in Logic Building
Two point five Two-Dimensional Arrays
Two point five point one Declaration and Initialization
Two point five point two Row-Major Storage Concept
Two point five point three Accessing Elements Using Nested Loops
Example: Input and Output
Two point five point four Applications in Matrix Operations
Two point five point five Limitations and Memory Use
Two point six Arrays as Function Arguments
Two point six point one Passing One-Dimensional Arrays to Functions
Two point six point two Passing Two-Dimensional Arrays to Functions
Two point six point three Use of Pointers for Array Handling
One D Arrays with Pointers:
Two point six point four Input/Output Operations with Arrays
Two point six point five Memory Efficiency in Parameter Passing
Two point seven Basic Array Algorithms
Two point seven point one Linear Search
Two point seven point two Binary Search
Two point seven point three Bubble Sort
void bubbleSort(int arr[], int n) {
Two point seven point four Selection Sort
void selectionSort(int arr[], int n) {
Two point seven point five Insertion Sort
Two point eight String Handling in C
Two point eight point one Declaration and Initialization of Strings
Two point eight point two Reading and Writing Strings left( gets, puts, scanf, printf right) Input Functions:
Two point eight point three String Traversal and Character Access
Example: Print Each Character
Two point eight point four String Length and Null Terminator
Manual Length Calculation:
Two point eight point five Differences between Strings and Character Arrays
Two point nine String Manipulation using Standard Functions
Two point nine point one strlen, strcpy, strcat
strcat - Concatenate Strings
Two point nine point two strcmp, strrev, strchr, strstr
strrev - Reverse a String left( Non-standard; supported in some compilers right)
strchr - Find First Occurrence of Character
Two point nine point three String Conversion Functions left( atoi, itoa, etc. right)
itoa - Integer to String left( Non-standard right char str left[ ten right];
Two point nine point four Case Manipulation and Trimming Strings Changing Case: Use left. ctype. h right functions for character-wise conversion.
Two point nine point five Creating Custom String Functions
Two point ten Multidimensional String Arrays
Two point ten point one Declaring Two-Dimensional Arrays for Strings
Two point ten point two Accessing and Modifying Strings
Two point ten point three Storing a List of Strings (e.g., Names, Words)
Two point ten point four Nested Loops with String Arrays
Example: Count Total Characters
Two point ten point five Limitations and Memory Considerations
Three. Safer Alternatives
Four. Memory Usage Example:
Two point eleven Memory Considerations with Arrays
Two point eleven point one Static versus Dynamic Memory Allocation (Overview)
Two point eleven point two Array Memory Layout in RAM
Two point eleven point three. Array Size and Compiler Constraints
Stack Limits (Static Arrays):
Heap Memory (Dynamic Arrays):
Two point eleven point four. Optimizing Array Usage
Two point eleven point five. Introduction to sizeof Operator
Two point twelve. Summary
Two point thirteen. Keywords
Two point fourteen. Self-Assessment Questions (Subjective and Case-Based)
Two point fifteen. Case Study