4 sections • 34 lectures • 19h 44m total length
Expand all sections
Collapse all sections
39min
19min
32min
21min
53min
24min
11min
31min
48min
30min
52min
19min
11min
23min
44min
11min
60min
37min
48min
50min
43min
37min
55min
37min
40min
18min
24min
37min
23min
58min
Description
C Basics
History of C
Characteristics of C
C Program Structure
Variables Defining Global Variables Printing Out and Inputting Variables
Constants
Arithmetic Operations
Comparison Operations
Logical Operators
Order of Precedence
Conditionals
Conditionals
The if statement
The? Operator
The switch Statement
Looping and Iteration
The for statement
The while statement
The do-while statement
Break and continue
Arrays and Strings
Defining, initializing and using arrays
Single and Multi-dimensional Arrays
Arrays of Characters and Strings
Arrays and pointers
Strings
Functions
Role of Functions
Passing arguments to functions
Returning values from functions
Recursive functions
Call back functions
Implications on Stack
Pass by value / reference
Passing Arrays to functions
String Handling :
Basic String handling functions
String Searching
Character Conversions and testing :
Memory Operations:
Structures and Unions
Structures
Nested Structures
Array of Structures
Allocation of memory and holes
Unions
Further Data Types
Coercion or Type-Casting
Enumerated Types
Static Variables
Dynamic Memory Allocation & Dynamic Structures
Malloc, Sized, and Free
Calloc and Realloc
Advanced Pointer Topics
The purpose of pointers
Defining pointers
The & and * Operators
Pointer Assignment
Pointers with functions
Pointer Arithmetic
Advanced pointer types
Pointers to functions
Pointers to String
Pointers and Dynamic memory
Pointers and Structures
Common Pointer Pitfalls Not assigning a pointer to memory address before using it Illegal indirection
Storage Classes
Scope
Internal
External
Automatic
Static
Scope and extent of parameters
Low Level Operators and Bit Fields
Bitwise Operators
Bit Fields Bit Fields: Practical Example A note of Caution: Portability
The C Processor
#define
#undef
#include
#if – conditional inclusion
Preprocessor Compiler Control
Other Preprocessor Commands
Integer Functions, Random Number
String Conversion :
Arithmetic Functions
Random Numbers
String Conversion
Mathematics:
Math Functions
Math Constants
Input and Output (I/O) :
Reporting Errors perror() errno exit()
Streams Predefined Streams Redirection
Basic I/O Formatted I/O Printf
Scanf
Files Reading and writing files
Sprintf and sscanf Stream Status Enquiries
Data Structures
Linked Lists
Stacks & Queues
Binary Tree
Sorting & Searching Techniques
Insertion Sort
Merge Sort
Quick Sort
Writing Larger Programs
Header Files
Advantages of Using Several Files
How to Divide a Program between Several Files
Organization of Data in each file
The Make Utility
Make Programming
Creating a make file
Make Macros