C is a general-purpose mid-level programming language developed by
Dennis M. Ritchie at Bell Laboratories in 1972. It was initially used for the
development of UNIX operating system, but it later became popular for a
wide range of applications.
C is considered mother of all programming languages as many later
languages like Java, PHP and JavaScript have borrowed
syntax/features directly or indirectly from the C.
Learning C programming first helps to learn any modern programming
language as it provide a deeper understanding of the fundamentals of
programming and operating system with features like pointers.
C is widely used in operating systems, embedded systems, compilers,
databases, networking, game engines and real-time systems for its
efficiency to work in low resource environment and hardware-level
support.
Basics
This section teaches you how to store and output data, perform arithmetic
and other operations, control the program flow, etc.
C Introduction
Compilation Process
Identifiers
C Keywords
C Variables
Data Type in C
Quiz: C Basics | Variables | Data Types
Input and Output in C
Operators
Quiz: Input and Output | Operators
Conditional Statements
Loops
Quiz: Conditional Statements and Loops
Functions
Functions are block of code that performs a specific task. They allow
programmers to write modular and reusable code.
Functions in C
Parameter Passing Techniques
Main Function
Recursion
Inline Function
Nested Functions
Quiz: Functions
Compound Data Types
Compound data types are created from primitive data types and provides a
different way to use them according to our needs.
C Arrays
Pointer in C
C Strings
Quiz: Array | Pointers | Strings
Structures
Unions
Enumeration (or enum)
Quiz: Structure & Union
Memory Management
The dynamic memory management in C uses functions like malloc(),
calloc(), realloc(), and free() to manually manage the memory while
avoiding errors such as memory leak.
Program's Memory Layout
Dynamic Memory Allocation
Memory Leaks
Quiz: Memory Management
File Handling
This section teaches you how to work with files in C, including creating,
reading, writing, manipulating and deleting files.
Basics of File Handling
Read a File
Read/Write Structure From/to a File
EOF, getc() and feof()
Delete a File
Quiz: File Handling
Error Handling
Unlike other programming languages that have automatic error handling, In
C language error handling is to be manually done by the developers using
error-handling methods, debugging strategies, and functions like perror(),
strerror(), etc.
Error Handling in C
Exception Handling Using goto
File Error Handling
Divide by Zero Exception
Miscellaneous Concepts
This section explores various essential of C language that do not fit into a
single category but play a vital role in C programming and provide
advanced functionality to your program.
C Preprocessors
Macros
Quiz: Preprocessors and Macros
C Header Files
Date and Time
Linkage
Storage Classes
Quiz: Storage Classes
Advanced Concepts
This section teaches you high-level C programming techniques such as
multi-threading, signal handling, socket programming, etc which are used in
creating high-performance robust applications and systems.
Variadic Functions
Input-Output System Calls
Signals
Socket Programming
_Generics Keyword
Multithreading in C
Important Links
Comparison of various programming languages
Careers and Jobs in C
Companies That Use C
What's Next?
Now that you have a strong foundation in C language, you can explore
more advanced topics such as Data structures and Algorithms in C. Keep
challenging yourself with our collection of practice problems to further
strengthen you understanding of the language:
C Programming Interview Questions and Answers
Data structures and Algorithms in C
Fundamental Practice Problems
Functions Practice Problems
Compound Data Types Practice Problems