0
j'ai le code suivantet question de référence (listes chaînées)
struct Node {
int accnumber;
float balance;
Node *next;
};
Node *A, *B;
int main() {
A = NULL;
B = NULL;
AddNode(A, 123, 99.87);
AddNode(B, 789, 52.64);
etc…
}
void AddNode(Node * & listpointer, int a, float b) {
// add a new node to the FRONT of the list
Node *temp;
temp = new Node;
temp->accnumber = a;
temp->balance = b;
temp->next = listpointer;
listpointer = temp;
}
dans ce ici void AddNode(Node * & listpointer, int a, float b) {
qu'est-ce que cela signifie exactement *& listpointer
.
ok donc du haut, A est un pointeur sur une structure, et dans cette fonction l'argument est un pointeur qui est l'adresse déférée d'un pointeur? – silent
Non, 'listpointer' est juste une référence à' A'. Voir le lien dans ma réponse. C'est-à-dire, quand vous changez 'listpointer', vous changez vraiment' A'. C'est un alias. –
oh je vois, donc le '*' agit en fait comme le pointeur ici. pas l'opérateur de déférence – silent