Beste antwoord
Nou, er is niets als:
int p*;
Het is een ongeldige verklaring. Je krijgt een compilatiefout met deze code.
Aan de andere kant int * p en int * p zijn in principe hetzelfde. Het is niets anders dan een kwestie van stijl. Wat de C / C ++ compiler betreft, maakt het niet uit of je int * p of int * p schrijft. Dus als u de * liever met het type dan met de variabele associeert, doe dat dan gerust.
Maar een belangrijk punt om op te merken:
De volgende declaratie creëert een niet twee integer-pointers:
int* a,b;
Hier wordt b gedeclareerd als integer, waarbij a een integer-pointer is. Deze verklaring:
int *a,*b;
declareert zowel a als b als integer pointers.
Antwoord
Int p *: nog niet gezien Int * p: aangezien hier de * is gekoppeld aan p, dus alleen p is een pointer naar een geheel getal. als je een andere variabele declareert na p gescheiden door puntkomma, zal het niet zijn een aanwijzer. D.w.z. int * p, q. Hier is p een pointer naar integer, maar q is een normale int-variabele en geen pointer.
Het geval Int * p, q werkt vergelijkbaar met Int * p, q. Beide declaraties declareren p als een integer pointer en q als een normaal geheel getal. Int * p, q is een soort declaratie die programmeurs in verwarring brengt.