Skip to main content

Supported features

  • Variables
    • Declaration
      • Global variables
    • Initialization
    • Assignment
    • Automatic type conversion
    • Variable list
    • Array variables declaration
      • Sized
      • Unsized
    • Multiple inline variables declaration
      • With pointers
  • Functions
    • Declaration with no definition
    • Declaration with definition
    • Arguments
    • Recursion
  • Types
    • Pointers
    • Arrays
      • Multi-dimensional arrays
    • Structures
      • Declaration with no definition
      • Declaration with definition
      • Initialization
    • Unions
    • Enums
    • Typedefs
  • Statements
    • if
    • for
      • With empty body
      • With multiple increments
    • do
    • while
    • switch
    • case
    • default
    • break
    • continue
    • return
    • goto
  • Expressions
    • Array indexing
    • List initialization
    • Structure property access
    • Pointer property access
    • Function call
    • Type casting
  • Arithmetic
    • Addition (+)
    • Subtraction (-)
    • Multiplication (*)
    • Division (/)
    • Modulo (%)
    • Prefix increment (++)
    • Prefix decrement (--)
    • Postfix increment (++)
    • Postfix decrement (--)
  • Bitwise operations
    • Bitwise AND (&)
    • Bitwise OR (|)
    • Bitwise XOR (^)
    • Bitwise NOT (~)
    • Bitwise Left Shift (<<)
    • Bitwise Right Shift (>>)
  • Logical operations
    • Logical AND (&&)
    • Logical OR (||)
    • Logical NOT (!)
  • Conditional operations
    • Equality (==)
    • Inequality (!=)
    • Less than (<)
    • Less than or equal to (<=)
    • Greater than (>)
    • Greater than or equal to (>=)
  • Assignment operations
    • Basic assignment (=)
    • Addition assignment (+=)
    • Subtraction assignment (-=)
    • Multiplication assignment (*=)
    • Division assignment (/=)
    • Modulo assignment (%=)
    • Bitwise AND assignment (&=)
    • Bitwise OR assignment (|=)
    • Bitwise XOR assignment (^=)
    • Bitwise Left Shift assignment (<<=)
    • Bitwise Right Shift assignment (>>=)
    • Ternary operator (?:)
  • Pointers operations
    • Pointer dereference (*)
    • Pointer addition (+)
    • Pointer subtraction (-)
    • Prefix pointer increment (++)
    • Prefix pointer decrement (--)
    • Postfix pointer increment (++)
    • Postfix pointer decrement (--)
    • Value address (&)
  • Misc
    • Comments
      • Single-line comments
      • Multi-line comments
    • sizeof
  • Preprocessor directives
    • #define A B
    • #define F(x) x
    • #define F(x) x ## 1
    • #undef A
    • #if A
    • #ifdef A
    • #ifndef A
    • #else
    • #elif A
    • #endif
    • #include <stdlib.h>
    • #include "./locallib.h"
  • Standard Library
    • stdlib.h
      • atof
      • atoi
      • atol
      • strtod
      • strtol
      • strtoul
      • calloc
      • free
      • malloc
      • realloc
      • abort
      • atexit
      • exit
      • getenv
      • system
      • bsearch
      • qsort
      • abs
      • div
      • labs
      • ldiv
      • rand
      • srand
      • mblen
      • mbstowcs
      • mbtowc
      • wcstombs
      • wctomb
    • assert.h
      • assert
    • string.h
      • memset
      • memchr
      • memcmp
      • memcpy
      • memmove
      • strcat
      • strncat
      • strchr
      • strcmp
      • strncmp
      • strcoll
      • strncpy
      • strcspn
      • strerror
      • strlen
      • strpbrk
      • strrchr
      • strspn
      • strtok
      • strxfrm