Le Language
October 10, 2025
Language C
Notion fondamental
main
#include <stdio.h>
int main(void) {
printf("hello\n");
return 0;
}
- include est une command prêt processeur car elle commence avec #
- ils exists des bibiliothèque standard que vous pouvez retrouvez sour
/usr/includetel que le fichier stdio.h int main(void)idique qu’il s’agit d’une fonction nomémainretournant un entier et ne prenant pas de paramètre. La fonctionmainest un peut particulière puisque c’est elle qui sera appeler en première lors de l’execution du binaire.
makefile
outil d’automatisation de la compilation
CC = gcc
CFLAGS = -Wall -Wextra
TARGET = <TARGE_NAME>
all: $(TARGET)
$(TARGET): main.c
$(CC) $(CFLAGS) main.c -o $(TARGET)
.PHONY: clean
clean:
rm -f $(TARGET)
function
#include <stdio.h>
int add(int , int );
int main(void) {
printf("hello\n");
return 0;
}
int add(int a, int b){
return a + b;
}
- prototypage de fonction,
int add(int a, int b);permet de rendre le code plus lissible - les paramètres, a et b sont des paramètes de fonction
MACRO
#include <stdio.h>
#define PI 3.14159
int main() {
float radius = 5.0;
float area = PI * radius * radius;
printf("L'aire du cercle est : %.2f\n", area);
return 0;
}
Constante
#include <stdio.h>
int main() {
const float pi = 3.14159;
float radius = 5.0;
float area = pi * radius * radius;
printf("L'aire du cercle est : %.2f\n", area);
return 0;
}
Enum
#include <stdio.h>
enum ghg_emissions_unit {
CO2Eq,
KCO2Eq
};
const char* ghg_emissions_unit_to_string(enum ghg_emissions_unit);
int main(void) {
enum ghg_emissions_unit unit = CO2Eq;
printf("%s\n",ghg_emissions_unit_to_string(unit) );
return 0;
}
const char* ghg_emissions_unit_to_string(enum ghg_emissions_unit unit) {
switch (unit) {
case CO2Eq:
return "CO2eq";
case KCO2Eq:
return "KCO2eq";
default:
return "Unknown Unit";
}
}
Structure
#include <stdio.h>
enum ghg_emissions_unit {
CO2Eq,
KCO2Eq
};
struct ghg_emissions {
float value;
enum ghg_emissions_unit unit;
};
void print_emissions( struct ghg_emissions );
const char* ghg_emissions_unit_to_string(enum ghg_emissions_unit);
int main(void) {
struct ghg_emissions emissions = {
.value= 150,
.unit = CO2Eq
};
print_emissions(emissions);
return 0;
}
void print_emissions( struct ghg_emissions emissions) {
printf("%2.f %s\n", emissions.value, ghg_emissions_unit_to_string(emissions.unit));
}
const char* ghg_emissions_unit_to_string(enum ghg_emissions_unit unit) {
switch (unit) {
case CO2Eq:
return "CO2eq";
case KCO2Eq:
return "KCO2eq";
default:
return "Unknown Unit";
}
}
arboresence
.
├── bin
│ └── arborecence
├── include
│ └── ghg.h
├── Makefile
├── obj
│ ├── ghg.o
│ └── main.o
├── Readme.md
└── src
├── ghg.c
└── main.c
pointer
#include <stdio.h>
int main() {
int nombre = 10; // Déclaration d'une variable entière
int *pointeur; // Déclaration d'un pointeur
pointeur = &nombre; // Le pointeur stocke l'adresse de la variable 'nombre'
// Affichage de la valeur de la variable et de son adresse
printf("Valeur de nombre: %d\n", nombre);
printf("Adresse de nombre: %p\n", &nombre);
// Utilisation du pointeur pour accéder à la valeur
printf("Valeur pointee par pointeur: %d\n", *pointeur);
printf("Adresse du pointeur: %p\n", &pointeur);
// Modification de la valeur via le pointeur
*pointeur = 20;
// Affichage après modification
printf("Nouvelle valeur de nombre: %d\n", nombre);
printf("Les address non pas changé:\nn:%p\np:%p\n", &nombre, &pointeur);
return 0;
}
debeugeur
à faire !