Bästa svaret
Jo, det finns inget som:
int p*;
Det är ett ogiltigt uttalande. Du kommer att få kompileringsfel med den här koden.
Å andra sidan int * p och int * p är i princip samma. Det är inget annat än en stilfråga. När det gäller C / C ++ – kompilatorn spelar det ingen roll om du skriver int * p eller int * p. Om du föredrar att associera * med typen snarare än variabeln, är du välkommen att göra det.
Men en viktig punkt att notera:
Följande deklaration skapar en inte två helpekare:
int* a,b;
Här förklaras b som heltal, där som a är helpekare. Detta uttalande:
int *a,*b;
förklarar både a och b som heltalspekare.
Svar
Int p *: har ännu inte sett Int * p: som här är * fäst vid p, så bara p kommer att vara en pekare till heltal. om du förklarar en annan variabel efter p åtskild av semikolon kommer den inte att vara en pekare. Dvs int * p, q. Här kommer p att vara en pekare till heltal men q kommer att vara en normal int-variabel och inte pekare.
Fallet Int * p, q fungerar som Int * p, q. Båda deklarationerna deklarerar p som en helpekare och q som ett normalt heltal. Int * p, q är en typ av deklaration som slutar förvirra programmerare.