Formation : Langage C : pointeurs, mémoire et structures

Formation en ligne gratuite · Débutant · 8 unités

Apprends le C, des types et du contrôle du déroulement aux fonctions, tableaux, chaînes, pointeurs, mémoire dynamique, structures et fichiers, et écris du C plus sûr avec débogueurs et sanitizers. Tu sauras écrire et déboguer de petits programmes C et raisonner sur la mémoire.

Par Studeli

Commencer par l'unité 1

Ce cours de Langage C est-il fait pour toi ?

Pour qui

Tu veux comprendre comment les programmes utilisent la mémoire et le matériel, ou tes études (ingénierie, systèmes embarqués, systèmes d’exploitation) utilisent le C.

Ce que tu vas apprendre en 8 unités

Chaque unité comprend les neuf outils d'étude

  • Guide d'Étude
  • Résumé
  • Leçons Interactives
  • Questions Pratiques
  • Flashcards
  • Explique-Le
  • Mots-Clés
  • Fiche Mémo
  • Carte Conceptuelle
  1. Compile et exécute des programmes C, déclare des variables des types de base et contrôle le déroulement du programme avec des conditions et des boucles.

    6 objectifs d'apprentissage
    1. 1.Compiler et exécuter des programmes C
    2. 2.Stocker des données dans des variables de types de base
    3. 3.Afficher des résultats et lire des données avec printf et scanf
    4. 4.Calculer avec des opérateurs et des expressions
    5. 5.Contrôler le déroulement d’un programme avec des conditions et des boucles
    6. 6.Reconnaître et prévenir les débordements d’entiers
  2. Écris des fonctions avec des prototypes, répartis les programmes entre fichiers source et fichiers d’en-tête et compile-les avec le préprocesseur et make.

    5 objectifs d'apprentissage
    1. 1.Écrire, déclarer et appeler des fonctions
    2. 2.Maîtriser la portée et la durée de vie des variables
    3. 3.Utiliser le préprocesseur C
    4. 4.Répartir un programme entre des fichiers source et des fichiers d’en-tête
    5. 5.Compiler des programmes composés de plusieurs fichiers avec make
  3. Manipule des tableaux et des chaînes terminées par un caractère nul, traite les arguments de ligne de commande et évite les accès hors limites.

    6 objectifs d'apprentissage
    1. 1.Stocker et traiter des ensembles de valeurs à l’aide de tableaux
    2. 2.Représenter du texte avec des caractères et des chaînes terminées par un caractère nul
    3. 3.Utiliser les fonctions standard de manipulation des chaînes
    4. 4.Organiser les données dans des tableaux à plusieurs dimensions
    5. 5.Traiter les arguments de ligne de commande
    6. 6.Prévenir les accès hors limites et les débordements de tampon
  4. Utilise des pointeurs pour passer des données par adresse, parcours des tableaux avec l’arithmétique des pointeurs et explique comment les variables sont disposées en mémoire.

    5 objectifs d'apprentissage
    1. 1.Comprendre la mémoire, les adresses et les variables de type pointeur
    2. 2.Utiliser des pointeurs pour partager des données avec des fonctions
    3. 3.Parcourir des tableaux à l’aide de l’arithmétique des pointeurs
    4. 4.Manipuler des pointeurs de pointeurs
    5. 5.Utiliser des pointeurs de fonctions et des fonctions de rappel
  5. Alloue et libère de la mémoire dans le tas, redimensionne des tampons et repère les fuites et les accès invalides avec des outils de vérification de la mémoire.

    5 objectifs d'apprentissage
    1. 1.Expliquer où un programme C stocke ses données
    2. 2.Allouer et libérer de la mémoire dans le tas
    3. 3.Redimensionner des tampons avec realloc
    4. 4.Reconnaître et prévenir les erreurs de mémoire
    5. 5.Repérer les erreurs de mémoire avec Valgrind et les sanitizers
  6. Définis des structures et des énumérations, et construis des listes chaînées, des piles, des files, des arbres et des tables de hachage à partir de nœuds alloués dynamiquement.

    6 objectifs d'apprentissage
    1. 1.Regrouper des données liées dans des structures
    2. 2.Nommer des choix avec des énumérations et partager le stockage avec des unions
    3. 3.Construire et gérer des listes chaînées
    4. 4.Implémenter des piles et des files
    5. 5.Construire et parcourir des arbres binaires
    6. 6.Stocker et rechercher des clés avec des tables de hachage
  7. Lis et écris des fichiers texte et binaires avec la bibliothèque standard d’entrées-sorties et gère les erreurs de manière robuste.

    5 objectifs d'apprentissage
    1. 1.Ouvrir des fichiers sous forme de flux et relier les programmes à leurs entrées et sorties
    2. 2.Lire et écrire des fichiers texte
    3. 3.Stocker et charger des données dans des fichiers binaires
    4. 4.Se déplacer à une position quelconque dans un fichier
    5. 5.Détecter et signaler les erreurs de fichiers, puis rétablir le fonctionnement
  8. Débogue des programmes C avec un débogueur et les avertissements du compilateur, reconnais les comportements indéfinis et applique des pratiques qui rendent le code C plus sûr.

    5 objectifs d'apprentissage
    1. 1.Faire détecter les problèmes par le compilateur
    2. 2.Repérer et corriger les bogues avec un débogueur
    3. 3.Reconnaître et éviter les comportements indéfinis
    4. 4.Détecter les erreurs à l’exécution avec des assertions et des sanitizers
    5. 5.Écrire du code C plus sûr
Suivant : Systèmes d’exploitation : processus, mémoire et fichiers (Intermédiaire)

Tu sais programmer en C (ou tu es prêt à lire des exemples en C) et tu veux comprendre les processus, la mémoire, la concurrence et les systèmes de fichiers du point de vue du système d’exploitation.

Crée ton propre Matériel d'Étude

Transforme tes notes, diapos et documents en Guides d'Étude, Questions Pratiques, Flashcards et 6 autres outils.

Commencer