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.
Partager