Quina diferència hi ha entre * i -> en el punter?


Resposta 1:

L'operador * s'utilitza per obtenir el valor al que està apuntant algun punter. Això es coneix com a operador de "valor en".

Si p és algun punter que emmagatzema una adreça de memòria, * p és el valor en aquesta ubicació de memòria.

D'altra banda, l'opertor -> només s'utilitza amb el punter d'estructura.

L’operador de punt (.) S’utilitza per obtenir algun membre d’una estructura, però si teniu un punter d’estructura, primer heu d’obtenir el valor de l’estructura i després aplicar l’operador de punts.

Suposem que ps és un punter d’estructura.

Aleshores, podeu obtenir un membre d'aquesta manera:

* (PS). Un

O pots escriure

PS> un

Per tant, -> és només una drecera de l'escriptura de codi amb indicadors d'estructura.


Resposta 2:

Bàsicament, * mostra la deceleració del punter i -> mostra la trucada mitjançant el punter.

EX-

exemple de classe

{

públic:

void show ()

{

cost << "Implementació punter";

}

};

void main ()

{

exemple * objecte;

object-> show (); // crida de la funció show

(.objecte) .show (); // trucada de la funció show mitjançant un altre mètode.

tots dos hsving la mateixa funció a fer.

però, a causa de l'anterioritat d'operadors, se sol utilitzar el símbol (->) per anomenar qualsevol funció de membre.

Espero que aquesta resposta us sigui d’utilitat ..

Gràcies


Resposta 3:

Bàsicament, * mostra la deceleració del punter i -> mostra la trucada mitjançant el punter.

EX-

exemple de classe

{

públic:

void show ()

{

cost << "Implementació punter";

}

};

void main ()

{

exemple * objecte;

object-> show (); // crida de la funció show

(.objecte) .show (); // trucada de la funció show mitjançant un altre mètode.

tots dos hsving la mateixa funció a fer.

però, a causa de l'anterioritat d'operadors, se sol utilitzar el símbol (->) per anomenar qualsevol funció de membre.

Espero que aquesta resposta us sigui d’utilitat ..

Gràcies


Resposta 4:

Bàsicament, * mostra la deceleració del punter i -> mostra la trucada mitjançant el punter.

EX-

exemple de classe

{

públic:

void show ()

{

cost << "Implementació punter";

}

};

void main ()

{

exemple * objecte;

object-> show (); // crida de la funció show

(.objecte) .show (); // trucada de la funció show mitjançant un altre mètode.

tots dos hsving la mateixa funció a fer.

però, a causa de l'anterioritat d'operadors, se sol utilitzar el símbol (->) per anomenar qualsevol funció de membre.

Espero que aquesta resposta us sigui d’utilitat ..

Gràcies