diff --git a/slides/pointeurs_rappel.md b/slides/pointeurs_rappel.md index 6cf48b8ce151ea998e49718fb43551f8a855270b..913fcc7a280cd2b1accb44dce9952d530c45a07e 100644 --- a/slides/pointeurs_rappel.md +++ b/slides/pointeurs_rappel.md @@ -126,4 +126,21 @@ int main() { . . . * Un code buggé (99.9% du temps) **et** une fuite mémoire... -* Mais avec un peu de chance le code va marcher (comportement indéfini). \ No newline at end of file +* Mais avec un peu de chance le code va marcher (comportement indéfini). + +# Last but not least + +## Les pointeurs et les tableaux + +* On peut allouer un tableau et le manipuler avec les pointeurs: + +```C +float *tab = malloc(12 * sizeof(*tab)); +*tab = 1.2; // première case de tab = 1.2 +tab[0] = 2.3; // première case de tab = 2.3 +tab[2] = 3.4; // 3e case de tab = 3.4 +*(tab + 4) = 4.5; // 4e case de tab = 4.5 +// ceci était de l'arithmétique de pointeur +// on déréférence l'adresse (tab + 4) +// en unités de float +``` \ No newline at end of file