Cet enseignement donne les bases de la programmation en C et de l'utilisation du système via des programmes :
-
structure d'un programme : syntaxe générale, déclaration vs définition de variable/fonction, fichier d'entête (.h), fichier source (.c), compilation séparée, binaires de source (.o), édition de lien, makefile
-
types structurés : définition d'une structure, alias de type (typedef), opérateur d’accès de champ, fonctions manipulant une structure par valeur (en argument et en retour)
-
pointeurs : pointeurs typés, opérateur de référencement et d'indirection, opérateur d'accès au champ d'une structure pointée, pointeur générique non-typé, pointeurs et tableaux, arithmétique de pointeurs, argument de fonction passé par adresse (type simple, tableau, structure), arguments en ligne de commande, pointeurs sur fonction, allocation dynamique de mémoire
-
entrée-sortie : flux, entrée et sortie standard, sortie d'erreur, fonctions de flux orientées caractères, fonctions de status de flux, fonctions d'ouverture/fermeture de fichier, fonction de formatage sur les chaînes, fonctions de flux binaires
-
entrée de répertoire POSIX : types répertoire et entité de répertoire, fonction d'ouverture/lecture/fermeture
-
gestion de processus : pid d'un processus et de son parent, création d'un processus par duplication, recouvrement d'un processus par une image, attente d'un processus enfant, envoi et réception d'un signal
-
manipulation de descripteur de fichiers : descripteur de fichier, lecture/écriture sans tampon, duplication de descripteur, tubes anonymes, descripteurs avec stdio