Essential Books
Undefined behavior
suggest change
Found a mistake? Have a question or improvement idea?
Let me know
.
Feedback about page:
Feedback:
Optional: your email if you want me to get back to you:
Send Feedback
Cancel
Undefined behavior:
*
Undefined behavior
*
Dereferencing a pointer to variable beyond its lifetime
*
Copying overlapping memory
*
Signed integer overflow
*
Use of an uninitialized variable
*
Read value of pointer that was freed
*
Data race
*
Modify string literal
*
Using incorrect format specifier in printf
*
Modifying any object more than once between two sequence points
*
Passing a null pointer to printf s conversion
*
Bit shifting using negative counts or beyond the width of the type
*
Freeing memory twice
*
Accessing memory beyond allocated chunk
*
Returning from a function thats declared with Noreturn or noreturn function specifier
*
Addition or subtraction of pointer not properly bounded
*
Modifying a const variable using a pointer
*
Dereferencing a null pointer
*
Reading an uninitialized object that is not backed by memory
*
Using fflush on an input stream
*
Division by zero
*
Missing return statement in value returning function
*
Inconsistent linkage of identifiers
*
Conversion between pointer types produces incorrectly aligned result
*
Modifying the string returned by getenv strerror and setlocale functions
Table Of Contents
0
Getting started
1
Function pointers
2
Operators
3
Data types
4
Arrays
5
Undefined behavior
6
Random numbers
7
Preprocessor and macros
8
Signal handling
9
Variable arguments
10
Files and I/O streams
11
Assertion
12
Linked lists
13
Generic selection
14
X-macros
15
Function parameters
16
Pointers
17
Structs
18
Sequence points
19
Command-line arguments
20
Aliasing and effective type
21
Compilation
22
Identifier scope
23
Bit-fields
24
Strings
25
Comman pitfalls
26
Error handling
27
Implicit and explicit conversions
28
Type qualifiers
29
Valgrind
30
Typedef
31
Selection statements
32
Declaration vs. definitio
33
Standard math
34
Boolean
35
Literals for numbers, characters and strings
36
Storage classes
37
Declarations
38
Formatted Input/Output
39
Compound literals
40
Inline assembly
41
Threads native
42
Initialization
43
Structure padding and packing
44
Memory management
45
Implementation-defined behaviour
46
Atomics
47
Iteration statements, loops, for, while, do-while
48
Enumerations
49
Jump Statements
50
Create and include header files
51
Testing frameworks
52
ctype.h characters classification
53
Pass 2D-arrays to functions
54
Side effects
55
Multi-character character sequences
56
Constrains
57
Inlining
58
Unions
59
Multi-threading
60
Common idioms and developer practices
61
Inter-process communication (IPC)
62
Comments
63
Contributors