argv
est, comme le dit la fonction, un pointeur vers un pointeur, ce qui en termes de taille signifie qu'il s'agit d'un pointeur. Généralement (presque toujours mais pas garanti?), Tous les pointeurs ont la même taille. S'il s'agit d'une machine 64 bits, les pointeurs auront une taille de 8 octets. Dans ce cas, argv
contient cinq éléments: des pointeurs vers cinq pointeurs char: './x', 'y', 'z', 'w' et NULL, car argv
est terminé par NULL.
Par mes calculs, qui laisse 40 octets dans argv
, donc je ne sais pas où il se l'autre 8.
Edit: Comme quelqu'un d'autre a suggéré, argv
se serait également prendre de la place pour une pointeur, donc il y a l'autre 8.
tag de travail. S'il vous plaît clarifier un peu la question –
Que voulez-vous dire exactement? – ArjunShankar
quelqu'un peut-il expliquer la taille en octets de chaque lettre, x, y, z, w? – yking