C is widely regarded as one of the primary programming languages used for low-level programming. It offers several features and characteristics that make it suitable for this purpose including efficiency, portability and its close relationship with the hardware.
-
efficiency
C allows developers to write code that directly interacts with underlying hardware, providing fine grained control over system resources. This enables optimization at low level.
-
portability
C is highly portable. Can be compiled and run on platforms and architecture with minimal or no modification.
-
Close relationship with hardware
C has close realationship with hardware resources such as memory, registers and I/O operations. It allows direct manipulation of memory addresses. Low level languages are still used in IOT and machine learning.
All of the following folders are projects done during the studies:
| Project name | Description |
|---|---|
| 0x00-hello_world | It aims to help the learning of what is entry point, basics commands (puts, printf, putchar), compilation process with gcc in C language |
| 0x01-variables_if_else_while | It aims to help learn about arithmetic operators, relational operators, boolean operators, comments, declaring variables and loops in C language |
| 0x02-functions_nested_loops | It aims to help learn about header files, functions, loops and nested loops in C language |
| 0x03-debugging | It aims at helping the learner understand debugging in the C language |
| 0x04-more_functions_nested_loops | It aims at helping with the learning of nested loops in the C language |
| 0x05-pointers_arrays_strings | This project helps in the learning of pointers and arrays in the C programming language |
| 0x06-pointers_arrays_strings | This project is aimed at learning more on pointers and arrays in the c programming language |
| 0x07-pointers_arrays_strings | It aims to help in the learning of pointers and arrays in C language |
| 0x08-recursion | This project aims to help in the understanding of recursion and how to implement it in the c programming language |
| 0x09-static_libraries | This project aims to help the learner in understanding about static libraries in the C programming language |
| 0x0A-argc_argv | It aims to assist the learner understand how to use arguments passed to a program in C language |