aboutsummaryrefslogtreecommitdiff
path: root/semestre 3/structures des données/td/td1/exo2.c
diff options
context:
space:
mode:
Diffstat (limited to 'semestre 3/structures des données/td/td1/exo2.c')
-rw-r--r--semestre 3/structures des données/td/td1/exo2.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/semestre 3/structures des données/td/td1/exo2.c b/semestre 3/structures des données/td/td1/exo2.c
new file mode 100644
index 0000000..7b3acf7
--- /dev/null
+++ b/semestre 3/structures des données/td/td1/exo2.c
@@ -0,0 +1,23 @@
+#include <stdio.h>
+#include <stdlib.h>
+
+/* incremente de 1 la valeur de 'p' */
+/* passer un arg en pointeur permet à une fonction de faire des effets de bord, comme retourner plusieurs valeurs */
+void incrementer(int *p){
+ (*p)++;
+}
+
+void main(void){
+ int *p;
+ int i = 1;
+
+ p = &i;
+ printf("%d\n", *p);
+
+ /* Cette suite de est illogique car on ne connait pas la valeur de 'p' avant l'affectation */
+ p = (int *) malloc(sizeof(int));
+ incrementer(p);
+ printf("%d\n", *p);
+
+ free(p);
+}