Bonjour,

J'ai un code que j'essai de comprendre, cependant je bloque sur cette notation (char **)0 que je ne comprend pas.

Je suis allé faire un tour dans les tutorials sur les pointeurs puis sur les listes chainées, mais sans vraiment comprendre cette notation **.
J'ai bien saisie la notation d'un pointeur, sa déclaration, valorisation ainsi que l'accès en lecture/écriture à l'adresse contenue par un pointeur.
J'ai retrouvé ** dans le cas d'un exemple de "pile" avec liste chainée mais cette notation n'est pas expliquée.
Pourriez vous me la décrire ?

Merci

Extrait du code :
La structure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
struct HWMCA_EVENT_QUALIFIER_S {     
   unsigned long ulEventMask;        
   unsigned long ulType;             
   union {                           
      char szName[256];              
      char cReserved[256];           
   } type;                           
   struct HWMCA_EVENT_QUALIFIER_S *pNext;
};
'instructions que je ne comprend pas...
tQualifier[j] etant un tableau du type de la structure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
tQualifier[j].ulEventMask = strtoul(argv[i], (char **)0, 0);  
tQualifier[j].ulType      = strtoul(argv[i+1], (char **)0, 0);
De plus tQualifier[j].ulEventMask étant de type unsigned long comment peut on mettre 3 arguments dans cet élement : strtoul(argv[i] puis (char **)0 et 0 ?

Merci