2. Bases Syntaxiques du C
2.1 Structure d'un programme C
CODE
#include <stdio.h> // Directive préprocesseur : inclut une bibliothèque
// Déclaration de fonction (prototype)
int addition(int a, int b);
// Point d'entrée du programme
int main(int argc, char *argv[]) {
int resultat = addition(3, 5);
printf("Résultat : %d\n", resultat);
return 0; // 0 = succès, autre = erreur
}
// Définition de la fonction
int addition(int a, int b) {
return a + b;
}
💡 Analogie #include c'est comme import en Python, mais le compilateur copie physiquement le
fichier. main() est le point d'entrée obligatoire de tout programme C.
2.2 Types primitifs et sizeof
CODE
#include <stdio.h>
#include <stdint.h> // Types à taille fixe (PRÉFÉREZ en système !)
int main(void) {
int entier = 42; // En général 4 octets
char lettre = 'A'; // 1 octet (-128 à 127)
double prec = 3.14159; // 8 octets double précision
// Types à taille garantie
int8_t i8 = -128; // Exactement 8 bits signé
uint8_t u8 = 255; // Exactement 8 bits non signé
int32_t i32 = 2000000; // Exactement 32 bits signé
uint64_t u64 = 18446744073709551615ULL;
printf("int = %zu octets\n", sizeof(int)); // 4
printf("char = %zu octet\n", sizeof(char)); // 1
printf("double = %zu octets\n", sizeof(double)); // 8
printf("void* = %zu octets\n", sizeof(void*)); // 8 (64 bits)
return 0;
}