Programmation bas niveau (BNV) Help

Exercices : Structures

Exercice 0

Créez un repository public avec un fichier README et appelez-le coda-bnv-j9.

Clonez le repository coda-bnv-j9 dans le dossier workspace/, ce qui va automatiquement créer un dossier workspace/exercices/coda-bnv-j9.

Exercice 1

Objectif : déclarer une structure et en afficher les sous variables

Consignes

Dans un fichier struct.h vous allez déclarer une structure s_char, dont le synonyme (typedef) sera character.

Cette structure devra contenir plusieurs sous-variables :

  • int strength

  • int intelligence

  • int wisdom

  • int agility

  • int endurance

Dans votre main vous devrez créer une structure avec les valeurs de votre choix, puis l'afficher en utilisant la fonction printf().

Fichiers à créer

  • struct.h

  • main.c

  • Makefile

Compilation et exécution

make all

Exécution

./ex-1

Exercice 2

Objectif : Déclarer une structure dans le main et la remplir dans une autre fonction en utilisant son adresse

Consignes

Dans un fichier struct.h vous allez déclarer une structure s_char, dont le synonyme (typedef) sera character.

Cette structure devra contenir plusieurs sous-variables :

  • int strength

  • int intelligence

  • int wisdom

  • int agility

  • int endurance

Dans votre fonction main, vous allez déclarer un character puis vous allez passer l'adresse de ce character à votre fonction fill_struct (vous trouverez son prototype plus loin dans les consignes). Vous allez ensuite afficher les sous variables de votre character en utilisant printf.

Dans votre fonction fill_struct vous allez remplir les sous-variables de votre character avec les valeurs de votre choix.

Fichiers à créer

  • struct.h (vous pouvez copier celui de l'exercice 1)

  • main.c

  • Makefile

Squelette de la fonction fill_struct:

void fill_struct(character * perso) { }

Compilation et exécution

make all

Exécution

./ex-2

Exercice 3

Objectif : Déclarer une structure et ses sous-variables simples puis allouer la mémoire pour cette structure.

Consignes

Dans un fichier struct.h vous allez déclarer une structure s_char, dont le synonyme (typedef) sera character.

Cette structure devra contenir plusieurs sous-variables :

  • int strength

  • int intelligence

  • int wisdom

  • int agility

  • int endurance

Dans votre fonction main créez un pointeur sur character, allouez lui de la mémoire avec malloc, remplissez ses sous-variables avec les valeurs de votre choix.

Ensuite affichez les sous-variables en utilisant printf.

Fichiers à créer

  • struct.h (vous pouvez copier celui de vos exercices 1 et 2)

  • main.c

  • Makefile

Compilation et exécution

make all

Exécution

./ex-3

Exercice 4

Objectif : Créer une structure avec un mélange de sous-variables simples et complexes et allouez la mémoire pour la structure et pour les sous-variables complexes

Consignes

Dans un fichier struct.h vous allez déclarer une structure s_char, dont le synonyme (typedef) sera character.

Cette structure devra contenir plusieurs sous-variables :

  • char * name

  • int strength

  • int intelligence

  • int wisdom

  • int agility

  • int endurance

Dans votre fonction main, créez un pointeur sur character, puis allouez-lui la mémoire nécessaire en utilisant malloc. Ensuite, allouez la mémoire nécessaire pour la sous-variable name en utilisant malloc. Remplissez les sous-variables avec les valeurs de votre choix (pour remplir name vous pouvez utiliser la fonction strcpy qui est disponible dans <string.h>).

Enfin affichez toutes les sous-variables en utilisant printf.

Fichiers à créer

  • struct.h

  • main.c

  • Makefile

Compilation et exécution

make all

Exécution

./ex-4
20 October 2025