Vad är skillnaden mellan int * p och int p * och int * p?


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.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *