commit 9de1751f71f7294adb04f1f8fa0090771736c157 Author: Béranger Date: Wed Sep 29 11:53:56 2021 +0200 Fin de cours de C diff --git a/C/Rappels/Images/binary_build.png b/C/Rappels/Images/binary_build.png new file mode 100644 index 0000000..09a59bd Binary files /dev/null and b/C/Rappels/Images/binary_build.png differ diff --git a/C/rappels.md b/C/rappels.md new file mode 100644 index 0000000..becbde3 --- /dev/null +++ b/C/rappels.md @@ -0,0 +1,81 @@ +# Rappels de langage C + +# Pointeurs + +``` +struct S { + int x; + int y +} + +struct S v +v.x +struct S * p +p -> x +(*p).x // Plus correct mais plus long +``` + +Déclarer + +``` +char* ch = "OULA" // Ici on a une variable ch en mémoire qui est l'adresse d'un endroit en mémoire ReadOnly ou il y est écrit "OULA" + +charch[]="OULA" // Ici on déclare la constante OULA en tant que variable locale. +// Ici char* ch ="OULA" correspond à une adresse. A EVITER. +``` + +**Si on tente de modifier une variable dans une zone ReadOnly, on a erreur à l'exécution** + +

+ +

+ + +# Passages d'arguments + +Pour une fonction, si on souhaite modifier la valeur d'une variable en la passant en argument d'une fonction, il est impératif de passer l'adresse de la variable en argument et non pas sa valeur. + +``` +void fonction(int i){ i++;} +int j=5; +fonction(j); +printf("%d",j); // OUTPUT : 5; + +//SI ON REMPLACE LA FONCTION DE CETTE FACON + +void fonction(int* i){ i++;} +fonction(&j); +printf("%d",j); // OUTPUT : 6; + +``` + +# printf +``` +%d // int +%f // float +%c // char +%s // chaine de charactères + +int i; +char ch; +char* str; +printf("%d, %c, %s", i , ch , str); +``` + +# Structures +## +``` +struct s { + int e; + char ch[4]; +} tab; + +// Ici le type est struct s et on crée une variable tab de type struct s + +typedef struct { + int e; + char ch[4]; +}tab; + +// Ici le type est tab et on ne crée en aucun cas une variable. +``` diff --git a/C/tmp.drawio b/C/tmp.drawio new file mode 100644 index 0000000..e0f01ea --- /dev/null +++ b/C/tmp.drawio @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Crypto/intro.md b/Crypto/intro.md new file mode 100644 index 0000000..4f0143f --- /dev/null +++ b/Crypto/intro.md @@ -0,0 +1,4 @@ +# Introduction à la Cryptographie +Responsable : vincent.migliore@insa-toulouse.fr + +# Definitions