From 7c1c36d9ea7360de0bd710ce9699f98337b9b98f Mon Sep 17 00:00:00 2001 From: Denis Monnerat Date: Thu, 5 Sep 2024 09:00:42 +0200 Subject: [PATCH] typo --- tp/tp1/README.md | 2 +- tp/tp1/src/structure.c | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 tp/tp1/src/structure.c diff --git a/tp/tp1/README.md b/tp/tp1/README.md index 3b830f9..86e0d6e 100644 --- a/tp/tp1/README.md +++ b/tp/tp1/README.md @@ -5,7 +5,7 @@ #### Ex1 -Compilez avec `g++` le programme [alignement.c](./src/alignement.c), et +Compilez avec `g++` le programme [structure.c](./src/structure.c), et exécutez. Vérifiez qie la taille et l'alignement de chaque structure est bien conforme aux règles vues en cours. diff --git a/tp/tp1/src/structure.c b/tp/tp1/src/structure.c new file mode 100644 index 0000000..8b5f8d9 --- /dev/null +++ b/tp/tp1/src/structure.c @@ -0,0 +1,38 @@ +#include + +struct +{ + float x; + char n[1]; +} s1; + +struct +{ + short s; + char n[3]; +} s2; + +struct s3 +{ + char Data1; + short Data2; + int Data3; + char Data4; +} s3; + +struct +{ + char Data1; + char Data4; + short Data2; + int Data3; +} s4; + +int main(int argc, char *argv[]) +{ + printf("s1 : alignement = %d\ntaille = %d\n",alignof(s1), sizeof(s1)); + printf("s2 : alignement = %d\ntaille = %d\n",alignof(s2), sizeof(s2)); + printf("s3 : alignement = %d\ntaille = %d\n",alignof(s3), sizeof(s3)); + printf("s4 : alignement = %d\ntaille = %d\n",alignof(s4), sizeof(s4)); + return 0; +}