Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/micahondiwa/alx-low_level_programming

Low-level programming language with ALX and Holberton School
https://github.com/micahondiwa/alx-low_level_programming

c data-structures malloc malloc-free malloc-library

Last synced: 29 days ago
JSON representation

Low-level programming language with ALX and Holberton School

Awesome Lists containing this project

README

        

# Low level programming

- Projects done during my Full Stack Software Engineering studies at [ALX Africa](https://www.alxafrica.com/software-engineering-2022/), a course offered by [Holberton School](https://www.holbertonschool.com/).

## Technologies
- Files written in ```vi```, ```vim```, and ```emacs``` editors
- C files compiled using ```gcc 9.4.0```.
- C files wriiten according to the betty coding style. Checked using [betty-style.pl](https://github.com/holbertonschool/Betty/blob/master/betty-style.pl) and [betty-doc.pl](https://github.com/holbertonschool/Betty/blob/master/betty-doc.pl).
- Files tested on ```Ubuntu 20.04``` LTS using ```gcc```.

## Directories

| Directory | Description |
| --- | --- |
|[0x00-hello_world](0x00-hello_world) |Fundamental introduction to C programming including C syntax, compilation and execution of C programs.|
|[0x01-variables_if_else_while](0x01-variables_if_else_while)|Implements keywords and identifiers, integers, Arithmetic Operations, if statements, if...else, relational operators, logical operators, and while loops in C.|
|[0x02-functions_nested_loops](0x02-functions_nested_loops)|Implements nested while loops, C-functions and header files in C.|
|[0x03-debugging](0x03-debugging)|Implements the concept of debugging C and how to mannually read the errors.|
|[0x04-more_functions_nested_loops](0x04-more_functions_nested_loops)| More on nested while loops, C functions, function prototypes, and C-header files.|
|[0x05-pointers_arrays_strings](0x05-pointers_arrays_strings)|Implements pointers in C, difference between pointers and arrays, string manipulation and scope of variables in C.|
|[0x06-pointers_arrays_strings](0x06-pointers_arrays_strings)|More on implenting pointers in C, differences between pointers and arrays, string manipulation and scope of variables in C|
|[0x07-pointers_arrays_strings](0x07-pointers_arrays_strings)|Implementing C pointers, multidimensional arrays, common C stanadrd library and functions to manipulate strings.|
|[0x08-recursion](0x08-recursion)|Implementing Recursion in C.|
|[0x09-static_libraries](0x09-static_libraries)|Basic usage of ```ar```, ```ranlib```, ```nm```|
|[0x0A-argc_ argv](0x0A-argc_argv)|How to use arguments passed by your own program, prototypying a header file, and using ```__attribute__((unused))``` or ```(void)``` to compile functions with unused variables or parameters|
|[0x0B-malloc_free](0x0B-malloc_free)|Implements dynamic and dynamic and automatic memory allocation, and freeing memory in C using ```malloc```, ```free```, and ```valgrid``` functions.|
|[0x0C-more_malloc__free](0x0C-more_malloc_free)|Implenting ```exit```, ```calloc```, and ```realloc``` functions in C with a cutom header file.|
|[0x0D-preprocessor](0x0D-preprocessor)|Implementing C macros, predefined C macros, and gurding the C- header file.|
|[0x0E-structures_typedef](0x0E-structures_typedef)|Implementing data strcutures in C using the ```typedef``` function, and custom functions in a custom header file.|
|[0x0F-function_pointers](0x0F-function_pointers)|Implents function pointers, and the virtual memory concept in C.|
|[0x10-variadic_functions](0x10-variadic_functions)|Implents variadic functions in C using ```va_strat```, ```va_arg```, ```va_end```, and ```const``` functions in C.|
[0x11-printf](0x11-printf)|A collaboration project to create a custom ```printf``` function with that works like the ```printf``` function in the ```stdio.h``` library.|
|[0x12-singly_linked_lists](0x12-singly_linked_lists)|Implenting single-lined lists in C - building and using single linked lists in C.|
|[0x13-more_singly_linked_lists](0x13-more_singly_linked_lists)|Implenting linked lists in C.|
|[0x14-bit_manipulation](0x14-bit_manipulation)|How to manipulate bits and use bitwise operators.|
|[0x15-file_io](0x15-file_io)|Using I/O System calls, ```open```, ```read```, and ```write``` and implementing ```O_RDONLY```, ```O_WRONLY```, ```O_RDWR```|
|[0x17-doubly_linked_lists](0x17-doubly_linked_lists)|Implements doubly linked lists in ```C```.|
|[0x18-dynamic_libraries](0x18-dynamic_libraries)|Implementing dynamic libraries in C, how it work, how to create one, and how to use it.|
|[0x1A-hash_tables](0x1A-hash_tables)|Implementing hash functions in C|
|[0x1C-makefiles](0x1C-makefiles)|Implementing Make files|
|[0x1E-search_algorithms](0x1E-search_algorithms)|Search Algorithms in C|

### Contributers
- [micahondiwa](https://github.com/micahondiwa): All projects.
- [john-the1-mwagiru](https://github.com/john-the1-mwagiru): A collobarator for the [0x11-printf](0x11-printf) project