Pourquoi et comment un déréférencement d'un pointeur de fonction juste "ne rien faire"?
C'est ce que je suis en train de parler:
#include<stdio.h>
void hello() { printf("hello"); }
int main(void) {
(*****hello)();
}
À partir d'un commentaire sur ici:
déréférencement de pointeurs de fonction juste fine, mais le résultat de la fonction désignation sera immédiatement de nouveau converti en un pointeur de fonction
Et d'une réponse ici:
Un déréférencement (façon de penser) la fonction de pointeur signifie: l'accès à un CODE de la mémoire, comme il le serait de DONNÉES de la mémoire.
Pointeur de fonction n'est pas supposé être déréférencé. Au lieu de cela, il est appelé.
Je voudrais utiliser un nom de "déréférencer" côté avec "l'appel". C'est OK.
De toute façon: C est conçu de telle manière qui à la fois la fonction nom de l'identificateur bien que variable contenant la fonction pointeur de dire la même: adresse CODE de la mémoire. Et il permet de sauter à la la mémoire en utilisant l'appel () syntaxe soit sur un identificateur ou une variable.
Comment exactement ne déréférencement d'un pointeur de fonction de travail?