Bonjour,
Lors d'un entretien, j'ai eu un test en langage C et je n'ai pas su répondre aux questions suivantes :
1) Comment est stockée une variable déclarée static dans la mémoire ?
=> je sais juste que static sert à garder une variable en mémoire de manière permanante, cad que même en dehors du bloc de déclaration de la variable, celle-ci n'est pas détruite. Ce qui se passe au niveau plus bas, dans les détails ( mémoire, stack ... etc) je ne sais pas ce qui se passe.
2) Que fait cette instruction :
=> je sais que ptr est un pointeur sur une fonction qui renvoie un type void, En revanche le premier argument c'est du chinois pour moi ... plus précisément l'étoile que j'ai mis en rouge
Code : Sélectionner tout - Visualiser dans une fenêtre à part void (*ptr)(int* (*)(int* tab[]), int**);
=> Je sais aussi que y a un call back mais c'est un peu flou pour moi car le nom de la fonction n'apparait pas ( dans le premier argument de la fonction pointée par ptr ).
Dans quel genre de situation on utilise ce genre d'expression ?
3)
d vaut combien ? ( et pourquoi ?)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 void *ptr; int d = sizeof(ptr);
Merci d'avance pour votre aide.
Partager