6.1.5 Exemple avec un pointeur en C

Je vous l'ai dit on va faire du C (enfin en peu). Donc nous allons écrire ce programme dans un fichier main.c

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <stdio.h>
//on oublie pas l'include pour malloc et free
#include <stdlib.h>

int main(int argc, char** argv){
	int * tableauInt = malloc(sizeof(int)*100);
	
	printf("Le tableau d'entiers vaut : \n");
	unsigned int i;
	for(i = 0; i < 100; i++){
		printf("%d ", tableauInt[i]);
	}
	printf("\n");
	//on oublie pas de désallouer le tableau
	free(tableauInt);
	return 0;
}

On compile le tout avec gcc :

gcc -Wall main.c -o test

Et on obtient :

./test 
Le tableau d'entiers vaut : 
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 

Vous l'avez deviné, il faut mettre des crochets après le pointeurs pour accéder à une case du tableau.

Faites attention, on peut aussi mettre des crochets sur un pointeur qui n'est pas un tableau, sauf que ça ne fonctionne pas, vu qu'il n'y a qu'une seule case.