Study this topic

C Program Structure and Data Types

C is a small, statically typed, compiled language in which the programmer works close to the machine: every object has a type that fixes how many bytes it occupies and how those bytes are interpreted.

Short notes10 min read

Operators, Precedence and Side Effects

An expression in C computes a value and may also change the state of the program, for example by assigning to a variable or printing. The value depends on how the expression is grouped (precedence and associativity); the state changes depend on when each side effect happens (sequencing).

Short notes11 min read

Bitwise Operators

The bitwise operators work on the individual bits of integer values. They are how C programs pack flags into a word, extract fields from hardware registers and network headers, compute masks for hashing, and implement fast multiplication or division by powers of two.

Short notes8 min read

Type Conversions and Integer Arithmetic

C lets you mix types freely in an expression: char with int, int with unsigned, int with double. Before any arithmetic happens, the compiler silently converts the operands to a common type, following fixed rules. Most of the time the result is what you expect.

Short notes9 min read

The C Preprocessor

Before a C file is compiled, it passes through the preprocessor, which works on tokens rather than on C expressions or types.

Short notes7 min read