/alx-low_level_programming

Low-level programming with C

Primary LanguageC

Low-Level Programming: Data Structures, Algorithms, Linux/Unix System Programming

Table of Content


About

This repository contains projects on low-level and system programming using C programming language. The concepts covered in these projects include but not limited to:

  • Compilation
  • Pre-processor, header files, macros
  • Linting
  • Variables, types, operators, expressions, loops, nested loops
  • Conditional statements
  • Functions
  • Debugging
  • Pointers, double pointers, function pointers, pointer arithmetic
  • Arrays, multidimensional arrays, structures
  • Dynamic memory allocation
  • Static libraries
  • Command-line arguments
  • Recursion
  • Variadic functions
  • Singly linked lists
  • Bit manipulation
  • File input/output
  • System calls
  • Dynamic libraries
  • Stacks and queues
  • Hash tables
  • Binary trees
  • Makefiles

Requirements

  • A Linux environment (Ubuntu 20.04 LTS was used for all the projects in this repo).

  • All code is compiled using GNU C compiler, gcc, with flags -Wall -Werror -Wextra -pedantic -std=gnu89


Projects

These projects are written mainly in C. More about individual projects can be found in their respective READMEs.

The projects are:


Acknowledgement

Author: Ian Duncan.

All work contained in this repository was completed as part of the curriculum for the 12-month ALX Software Engineering Programme, offered in collaboration with Holberton School. The programme prepares the students with the technical and work-ready skills for a global career as a full-Stack Developer.