agavrel/42_CheatSheet logo

agavrel/42_CheatSheet

Free

A comprehensive guide to 50 years of evolution of strict C programming, a tribute to Dennis Ritchie's language

FreeFree tier
Type
Open Source

About agavrel/42_CheatSheet

A comprehensive C programming cheat sheet created for 42 School students, alumni, and candidates. It covers 50 years of strict C programming evolution, including the piscine (bootcamp) preparation, common beginner mistakes (segmentation faults, memory leaks, undefined behavior), clean code practices, programmer tools (editors, Git, bash), and curated learning materials on algorithms, networking, security, computer graphics, and more. The guide includes tutorials on optimization (multithreading, vectorization), computer graphics with SDL2 (e.g., Barnsley Fern fractal), and hacking (buffer overflow). It also provides code examples for basic functions like ft_putchar, ft_strlen, and ft_putstr.

Key Features

Comprehensive C programming reference for 42 School
Covers piscine (bootcamp) preparation and success criteria
Lists common beginner mistakes with explanations (e.g., array overflow, segfault, bus error, stack smashing)
Teaches clean code principles: meaningful names, short functions, structures, flags, Makefile flags, DEBUG macros, branching optimization
Includes programmer tools: code editors, terminal/bash, Git, productivity gains, PATH, computer graphics libraries
Curated learning materials for C, algorithms, bitwise manipulations, network, security/hacking, graphics, AI, optimization, assembly, functional programming, computer architecture
Tutorials on optimization (flags, multithreading, vectorization, algorithm choice), computer graphics with SDL2, and hacking (buffer overflow, shellcode execution)
Code examples: ft_putchar, ft_strlen, ft_putstr, and more
Available in English and Korean
Open source on GitHub

Pros & Cons

Pros
  • Comprehensive and well-structured table of contents
  • Covers both fundamentals and advanced topics (optimization, hacking, graphics)
  • Includes practical tutorials with code examples
  • Free and open source
  • Available in multiple languages (English, Korean)
  • Community-contributable (PRs welcome)
  • Specifically tailored to 42 School's curriculum and norminette
Cons
  • Primarily targeted at 42 School students; less useful for general C learners
  • Not a full course; it's a reference and guide
  • Some sections may require prior C knowledge
  • Hosted only on GitHub; no dedicated website or interactive features
  • May become outdated if 42 School's curriculum changes

Best For

Preparing for 42 School's piscine (intensive C bootcamp)Learning or refreshing strict C programming best practicesUnderstanding common C pitfalls and undefined behaviorWriting clean, optimized C codeExploring computer graphics or basic exploitation techniques through tutorialsUsing as a reference guide during 42 School projects