Skip to content

Pierre-Dureau/holbertonschool-low_level_programming

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

holbertonschool-low_level_programming

What is this repository for ?

This repository is the first step in programmation in Holberton. It covers all the basics in the C language and extend to more complex exercise.

Projects

Learning Objectives

  • Why C programming is awesome
  • Who invented C
  • Who are Dennis Ritchie, Brian Kernighan and Linus Torvalds
  • What happens when you type gcc main.c
  • What is an entry point
  • What is main
  • How to print text using printf, puts and putchar
  • How to get the size of a specific type using the unary operator sizeof
  • How to compile using gcc
  • What is the default program name when compiling with gcc
  • What is the official C coding style and how to check your code with betty-style
  • How to find the right header to include in your source code when using a standard library function
  • How does the main function influence the return value of the program
  • What are the arithmetic operators and how to use them
  • What are the logical operators (sometimes called boolean operators) and how to use them
  • What the the relational operators and how to use them
  • What values are considered TRUE and FALSE in C
  • What are the boolean operators and how to use them
  • How to use the if, if ... else statements
  • How to use comments
  • How to declare variables of types char, int, unsigned int
  • How to assign values to variables
  • How to print the values of variables of type char, int, unsigned int with printf
  • How to use the while loop
  • How to use variables with the while loop
  • How to print variables using printf
  • What is the ASCII character set
  • What are the purpose of the gcc flags -m32 and -m64
  • What are nested loops and how to use them
  • What is a function and how do you use functions
  • What is the difference between a declaration and a definition of a function
  • What is a prototype
  • Scope of variables
  • What are the gcc flags -Wall -Werror -pedantic -Wextra -std=gnu89
  • What are header files and how to to use them with #include
  • What is debugging
  • What are some methods of debugging manually
  • How to read the error messages
  • What are pointers and how to use them
  • What are arrays and how to use them
  • What are the differences between pointers and arrays
  • How to use strings and how to manipulate them
  • Scope of variables
  • None
  • What are pointers to pointers and how to use them
  • What are multidimensional arrays and how to use them
  • What are the most common C standard library functions to manipulate strings
  • What is recursion
  • How to implement recursion
  • In what situations you should implement recursion
  • In what situations you shouldn’t implement recursion
  • What is a static library, how does it work, how to create one, and how to use it
  • Basic usage of ar, ranlib, nm
  • How to use arguments passed to your program
  • What are two prototypes of main that you know of, and in which case do you use one or the other
  • How to use __attribute__((unused)) or (void) to compile functions with unused variables or parameters
  • What is the difference between automatic and dynamic allocation
  • What is malloc and free and how to use them
  • Why and when use malloc
  • How to use valgrind to check for memory leak
  • How to use the exit function
  • What are the functions calloc and realloc from the standard library and how to use them
  • What are macros and how to use them
  • What are the most common predefined macros
  • How to include guard your header files
  • What are structures, when, why and how to use them
  • How to use typedef
  • What are function pointers and how to use them
  • What does a function pointer exactly hold
  • Where does a function pointer point to in the virtual memory
  • What are variadic functions
  • How to use va_start, va_arg and va_end macros
  • Why and how to use the const type qualifier
  • When and why using linked lists vs arrays
  • How to build and use linked lists
  • How to use linked lists
  • Start to look for the right source of information without too much help
  • Look for the right source of information without too much help
  • How to manipulate bits and use bitwise operators
  • Look for the right source of information online
  • How to create, open, close, read and write files
  • What are file descriptors
  • What are the 3 standard file descriptors, what are their purpose and what are their POSIX names
  • How to use the I/O system calls open, close, read and write
  • What are and how to use the flags O_RDONLY, O_WRONLY, O_RDWR
  • What are file permissions, and how to set them when creating a file with the open system call
  • What is a system call
  • What is the difference between a function and a system call
  • What is a doubly linked list
  • How to use doubly linked lists
  • Start to look for the right source of information without too much help
  • What is a dynamic library, how does it work, how to create one, and how to use it
  • What is the environment variable $LD_LIBRARY_PATH and how to use it
  • What are the differences between static and shared libraries
  • Basic usage nm, ldd, ldconfig
  • What is a hash function
  • What makes a good hash function
  • What is a hash table, how do they work and how to use them
  • What is a collision and what are the main ways of dealing with collisions in the context of a hash table
  • What are the advantages and drawbacks of using hash tables
  • What are the most common use cases of hash tables
  • What are make, Makefiles
  • When, why and how to use Makefiles
  • What are rules and how to set and use them
  • What are explicit and implicit rules
  • What are the most common / useful rules
  • What are variables and how to set and use them
  • What is a search algorithm
  • What is a linear search
  • What is a binary search
  • What is the best search algorithm to use depending on your needs

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages