Bonjour,

je suis entrain de lire un cours en C est je suis arrivé a un chapitre sur le type void (ci-dessous un extrait du cours).

10.3. Le type void

Le type void se comporte comme un type fondamental.

♦ Il sert à préciser qu'une fonction ne renvoie aucune valeur (procédure).

♦ Il peut être utilisé comme type de base pour des pointeurs sur des objets de type

inconnu (pointeur universel ☺ ).

void f();

void * pv;

Cette facilité doit être utilisée pour se servir des fonctions génériques qui rendent des

pointeurs vers n'importe quel type d'objets (exemple : fonction malloc).

Exemple :
Code C : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
/* declaration des prototypes */
void * malloc(unsigned taille);
void free(void *);
 
void une_fonction() {
 
/* declaration des variables pointeur pi et pc. pi pointe un int et pc pointe un char
int *pi;
char *pc;
 
/* pi pointe un int a qui on a alloué 20 octets ? */
pi = (int *) malloc(10*sizeof(int));
/* pc pointe un char a qui on a alloué 10 octets ? */
pc = (char *) malloc(10*sizeof(char));
...
/* on libère la mémoire allouée */
free(pi);
free(pc);
}

Donc j'ai quelques questions par rapport au code ci-dessus J'ai mis des commentaires svp pouvez vous valider ou m'expliquer si mes commentaires son faux.

Merci.