flowchart TD
A[C Standard Library]
A --> B[stdio.h]
A --> C[stdlib.h]
A --> D[string.h]
A --> E[math.h]
A --> F[time.h]
A --> G[ctype.h]
A --> H[signal.h]
B --> B1[printf]
B --> B2[scanf]
B --> B3[fopen]
C --> C1[malloc]
C --> C2[free]
C --> C3[qsort]
D --> D1[strcpy]
D --> D2[strlen]
D --> D3[strcmp]
E --> E1[sin]
E --> E2[cos]
E --> E3[sqrt]
- C Programming Language
- C Programming Absolute Beginner's Guide
- C Programming: A Modern Approach
- Effective C : An Introduction to Professional C Programming
- Practical C Programming: Why Does 2+2 = 5986? (Nutshell Handbooks)
- C Pocket Reference
- Expert C Programming: Deep Secrets
- CS50x 2024 - Lecture 1 - C
- How I program C by
Eskil Steenberg - Tips for C Programming by
Nic Barker - extern c: Talking to C Programmers about C++ by
Dan Saks - C is So Back: Unbreaking the Charter by
Björkus Dorkus - Advice for Writing Small Programs in C by
Sean Barrett - Programming in Modern C with a Sneak Peek into C23 by
Dawid Zalewski - Modern C and What We Can Learn From It by
Luca Sas
flowchart TD
A[C Security]
A --> B[Memory Layout]
B --> C[Buffers]
C --> D[Stack]
C --> E[Heap]
D --> F[Buffer Overflow Concepts]
E --> G[Heap Corruption Concepts]
F --> H[Mitigations]
G --> H
H --> I[ASLR]
H --> J[DEP NX]
H --> K[Stack Canaries]
H --> L[Secure Coding]
L --> M[Code Review]
M --> N[Static Analysis]
N --> O[Fuzz Testing]
style A fill:#e74c3c,color:#fff
style H fill:#3498db,color:#fff
style O fill:#2ecc71,color:#fff
flowchart TD
A[Process Memory]
A --> B[Text Segment]
A --> C[Data Segment]
A --> D[BSS Segment]
A --> E[Heap]
A --> F[Stack]
B --> B1[Executable Code]
C --> C1[Initialized Globals]
D --> D1[Uninitialized Globals]
E --> E1[Dynamic Allocation]
F --> F1[Local Variables]
style B fill:#3498db,color:#fff
style C fill:#2ecc71,color:#fff
style D fill:#f1c40f,color:#000
style E fill:#e74c3c,color:#fff
style F fill:#9b59b6,color:#fff
You can access the my other awesome lists here
Contributions of any kind welcome, just follow the guidelines!