Welcome to the Low-Level Programming repository! This repo contains projects, tasks, and exercises completed as part of the curriculum at Holberton School Azerbaijan. The focus is on understanding and practicing programming at a low level, primarily in C.
This repository is dedicated to low-level programming, covering topics like memory management, data structures, algorithms, and basic system calls in C. Each directory in this repository contains specific tasks related to different concepts learned in the course.
The goal is to gain a deeper understanding of how programs work under the hood, how the system allocates memory, and how to write efficient code.
Topics and projects covered in this repository include:
- Hello, World: Basic syntax of C, compiling, and printing output.
- Variables, if, else, while: Control structures and loops in C.
- Functions and Nested Loops: Writing functions and understanding loop nesting.
- Argc_argv: Handling command-line arguments with argc and argv in C.
- Bit_manipulation: Working with bitwise operators to manipulate bits in C.
- Doubly_linked_lists: Creating and manipulating doubly linked lists in C.
- File_io: Reading from and writing to files in C.
- Function_pointers: Using pointers to functions to enable dynamic function calls.
- Malloc_free: Dynamically allocating and freeing memory in C.
- More_functions_nested_loops: More practice with functions and nested loops.
- More_malloc_free: Advanced usage of dynamic memory allocation and deallocation.
- Array_range: Working with arrays and creating ranges dynamically.
- Pointers_arrays_strings: Understanding pointers, arrays, and strings in C.
- Recursion: Using recursion to solve problems by having functions call themselves.
- Singly_linked_lists: Working with singly linked lists in C.
- Structures_typedef: Using structures to group data and typedef for custom types.
Each project folder contains its own README.md with more details on the specific tasks and code samples.
- Compiler:
gccwith options-Wall -Werror -Wextra -pedantic -std=gnu89 - Languages: C programming language
- Clone the repository:
git clone https://github.com/username/holbertonschool-low_level_programming.git
- Navigate to a project directory:
cd hello_world - Compile and run the programs:
gcc -Wall -Werror -Wextra -pedantic -std=gnu89 <file_name.c> -o <output_name> ./<output_name>