📖 Guide

C — Complete Reference

Comprehensive C programming cheat sheet covering syntax, pointers, memory management, and standard library functions.

98 commands across 12 categories

Basics

CommandDescription
#include <stdio.h>
Include standard I/O library
int main(void) { return 0; }
Minimal C program entry point
int x = 10;
Declare and initialize a variable
const int MAX = 100;
Declare a constant variable
printf("Hello %s\n", name);
Print formatted output to stdout
scanf("%d", &x);
Read formatted input from stdin
// comment /* block */
Single-line (C99+) and multi-line comments
typedef unsigned long ulong;
Create a type alias

Data Types

CommandDescription
char c = 'A';
Single character (1 byte)
int n = 42;
Integer (typically 4 bytes)
float f = 3.14f;
Single-precision floating point
double d = 3.14159;
Double-precision floating point
long long ll = 9000000000LL;
At least 64-bit integer
unsigned int u = 255;
Non-negative integer
_Bool b = 1; // or #include <stdbool.h>
Boolean type (C99+, use bool with stdbool.h)
size_t len = sizeof(arr);
Unsigned type for sizes and counts
void
No type — used for functions with no return or generic pointers

Operators

CommandDescription
+ - * / %
Arithmetic operators (% is modulo, integer only)
== != < > <= >=
Comparison operators
&& || !
Logical AND, OR, NOT
& | ^ ~ << >>
Bitwise AND, OR, XOR, NOT, shifts
+= -= *= /= %=
Compound assignment operators
++i i++ --i i--
Pre/post increment and decrement
condition ? a : b
Ternary conditional operator
sizeof(type)
e.g. sizeof(int) // typically 4
Get size in bytes of a type or variable

Control Flow

CommandDescription
if (cond) { } else if { } else { }
Conditional branching
switch (val) { case 1: ...; break; default: ...; }
Multi-way branching (don't forget break!)
for (int i = 0; i < n; i++) { }
For loop with counter
while (cond) { }
While loop — checks condition before each iteration
do { } while (cond);
Do-while loop — runs body at least once
break;
Exit the innermost loop or switch
continue;
Skip to next iteration of the loop
goto label; label: ...
Jump to a labeled statement (use sparingly)

Functions

CommandDescription
int add(int a, int b) { return a + b; }
Define a function with return type and parameters
void greet(const char *name);
Function prototype (declaration without body)
static int helper(void) { }
Static function — visible only within its file
inline int square(int x) { return x*x; }
Inline function hint (C99+)
int sum(int n, ...) { }
Variadic function (use <stdarg.h> macros inside)
void modify(int *ptr) { *ptr = 5; }
Pass by pointer to modify caller's variable
int (*fptr)(int, int) = &add;
e.g. int result = fptr(2, 3); // 5
Function pointer declaration and assignment

Pointers

CommandDescription
int *p = &x;
Declare pointer and assign address of x
*p = 10;
Dereference — write to the pointed-to value
int val = *p;
Dereference — read the pointed-to value
int **pp = &p;
Pointer to pointer (double indirection)
void *generic;
Generic pointer — can point to any type (must cast to use)
NULL
Null pointer constant (pointer that points nowhere)
p + 1
Pointer arithmetic — advances by sizeof(*p) bytes
arr[i] ≡ *(arr + i)
Array indexing is pointer arithmetic

Arrays & Strings

CommandDescription
int arr[5] = {1, 2, 3, 4, 5};
Declare and initialize a fixed-size array
int arr[] = {1, 2, 3};
Array with size inferred from initializer
int matrix[3][4];
2D array (3 rows, 4 columns)
char str[] = "hello";
String as null-terminated char array
strlen(str)
Get string length (not counting '\0')
strcpy(dest, src)
Copy string src to dest
strcmp(a, b)
Compare strings (0 = equal, <0 or >0 otherwise)
strcat(dest, src)
Append src to end of dest
strncpy(dest, src, n)
Copy at most n characters (safer than strcpy)

Structs

CommandDescription
struct Point { int x; int y; };
Define a struct type
struct Point p = {10, 20};
Declare and initialize a struct variable
p.x
Access struct member with dot operator
ptr->x
Access member through pointer (same as (*ptr).x)
typedef struct { int x; int y; } Point;
Typedef struct for cleaner usage
struct Node { int val; struct Node *next; };
Self-referential struct (linked list)
union Data { int i; float f; char c; };
Union — members share the same memory
enum Color { RED, GREEN, BLUE };
Enumeration — named integer constants

Memory Management

CommandDescription
malloc(n * sizeof(int))
e.g. int *arr = malloc(10 * sizeof(int));
Allocate n ints on heap (returns void*)
calloc(n, sizeof(int))
Allocate and zero-initialize memory
realloc(ptr, new_size)
Resize previously allocated block
free(ptr);
Free heap-allocated memory (always free what you malloc!)
ptr = NULL;
Set pointer to NULL after freeing to avoid dangling pointer
memset(ptr, 0, n)
Fill memory with a byte value
memcpy(dest, src, n)
Copy n bytes from src to dest (no overlap allowed)
memmove(dest, src, n)
Copy n bytes — safe for overlapping regions

File I/O

CommandDescription
FILE *f = fopen("file.txt", "r");
Open file ("r" read, "w" write, "a" append, "rb" binary)
fclose(f);
Close an open file
fgets(buf, size, f)
Read a line into buffer
fprintf(f, "x=%d\n", x);
Write formatted output to file
fscanf(f, "%d", &x);
Read formatted input from file
fread(buf, size, count, f)
Read binary data from file
fwrite(buf, size, count, f)
Write binary data to file
feof(f)
Check if end-of-file has been reached
fseek(f, offset, SEEK_SET)
Move file position indicator

Preprocessor

CommandDescription
#include <header.h>
Include system header
#include "myfile.h"
Include local/project header
#define PI 3.14159
Define a macro constant
#define MAX(a,b) ((a)>(b)?(a):(b))
Define a macro function (parenthesize args!)
#ifdef DEBUG ... #endif
Conditional compilation — include if macro defined
#ifndef HEADER_H\n#define HEADER_H\n...\n#endif
Include guard — prevent double inclusion
#pragma once
Non-standard but widely supported include guard
__FILE__ __LINE__ __func__
Built-in macros for file, line number, function name

Common Library Functions

CommandDescription
abs(n) fabs(x)
Absolute value for int (stdlib) and double (math)
pow(base, exp) sqrt(x)
Power and square root (math.h)
rand() % n
Random int in [0, n) — seed with srand(time(NULL))
atoi(str) atof(str)
Convert string to int/double
qsort(arr, n, size, cmp)
e.g. int cmp(const void *a, const void *b) { return *(int*)a - *(int*)b; }
Sort array using quicksort
bsearch(&key, arr, n, size, cmp)
Binary search in sorted array
exit(EXIT_SUCCESS)
Terminate program with status code
assert(condition)
Abort if condition is false (assert.h, disabled with NDEBUG)

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference — modes, motions, editing, search, and advanced features.
🐳
Docker Commands
Complete Docker & Docker Compose command reference — containers, images, volumes, networks, and orchestration.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, and universal concurrency patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
🎨
CSS
Complete CSS reference — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
📄
HTML
Complete HTML reference — document structure, text content, forms, media, semantic elements, accessibility, and more.
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
💻
Bash
Complete Bash reference — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, and extensions.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, multi-line strings, and common patterns.
🌐
Curl
Curl command-line reference for HTTP requests, authentication, file transfers, debugging, and common API patterns.
Cron
Cron scheduling reference covering syntax, field values, crontab management, and common schedule patterns.
🖥️
Tmux
Terminal multiplexer for managing multiple sessions, windows, and panes from a single terminal.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, and report generation.
✂️
Sed
Stream editor for filtering and transforming text, line by line.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering options.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.
🐬
MySQL
Complete MySQL cheat sheet covering queries, joins, indexes, transactions, and administration.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, and modern module system.
🔐
Chmod
Linux file permission commands and patterns for chmod.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, and more.
Next.js
Next.js App Router reference covering routing, data fetching, server components, and deployment.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, and Hosting.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, and functions for XML/HTML querying.
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration.
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes with descriptions and use cases.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, queries, relations, migrations, and common patterns.
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, and configuration.
🔄
PM2
Production process manager for Node.js applications with built-in load balancer, monitoring, and zero-downtime reloads.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window management, and remote work.
📦
Webpack
Module bundler for JavaScript applications — loaders, plugins, code splitting, optimization, and dev server.
Vite
Next-generation frontend build tool with instant HMR, native ES modules, and optimized production builds via Rollup.

📖 Free, searchable command reference. Bookmark this page for quick access.