Hvad er forskellen mellem int * p og int p * og int * p?


Bedste svar

Nå, der er intet som:

int p*;

Det er en ugyldig erklæring. Du får kompileringsfejl med denne kode.

På den anden side int * p og int * p er stort set de samme. Det er intet andet end et spørgsmål om stil. For så vidt angår C / C ++ – kompilatoren, betyder det ikke noget, om du skriver int * p eller int * p. Hvis du foretrækker at knytte * til typen i stedet for variablen, er du velkommen til at gøre det.

Men et vigtigt punkt at bemærke:

Den følgende erklæring skaber en ikke to heltalsmarkører:

int* a,b;

Her erklæres b som heltal, hvor som a er heltalsmarkør. Denne erklæring:

int *a,*b;

erklærer både a og b som heltalspegere.

Svar

Int p *: har ikke set endnu Int * p: som her er * knyttet til p, så kun p vil være en pointer til heltal. hvis du erklærer en anden variabel efter p adskilt af semikolon, vil den ikke være en viser. Dvs. int * p, q. Her vil p være en markør til heltal, men q vil være en normal int-variabel og ikke markør.

Sagen Int * p, q fungerer ligesom Int * p, q. Begge erklæringer erklærer p som et heltalsmarkør og q som et normalt heltal. Int * p, q er en type erklæring, der ender med at forvirre programmører.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *