Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Strana definizione dei puntatori

Il forum per tutti i developer. Leggere attentamente il regolamento di sezione prima di postare.

Strana definizione dei puntatori

Messaggioda dararag » ven set 05, 2008 1:19 pm

Sto seguendo una guida per imparare a creare GUI sfruttando le API di Win, leggendo ho trovato nella funzione WinMain un parametro di tipo LPSTR, e nella guida diceva che poteva essere sostituito con un tipo char* perché è un puntatore, pensando ad un errore di battitura ho scritto come parametro *char lpCmdLine, ma mi ha restituito un errore, che non mi ha dato scivendo char* lpCmdLine, come è possibile?
Maledette aziende produttrici, l'unico telefilm interessante degli ultimi tempi l'hanno interrotto alla decima puntata... e chi voleva sapere la fine?
Avatar utente
dararag
Silver Member
Silver Member
 
Messaggi: 1116
Iscritto il: mar gen 22, 2008 8:57 pm
Località: Casoria

Re: Strana definizione dei puntatori

Messaggioda bluesummer » ven set 05, 2008 1:24 pm

perché l'asterisco (*) che indica che la variabile è un puntatore è, appunto, riferito alla variabile e non al tipo.
Quindi si scrive
char *p;

e non

*char p;
www.slipangle.it
Avatar utente
bluesummer
Aficionado
Aficionado
 
Messaggi: 104
Iscritto il: lun mag 19, 2008 12:47 pm

Re: Strana definizione dei puntatori

Messaggioda dararag » ven set 05, 2008 1:31 pm

un idea del genere mi era venuta, solo che non l'avevo mai visto definito così un puntatore, quindi, se io scrivessi char* lpCmdLine o char *lpCmdLine sarebbe la stessa cosa?
Maledette aziende produttrici, l'unico telefilm interessante degli ultimi tempi l'hanno interrotto alla decima puntata... e chi voleva sapere la fine?
Avatar utente
dararag
Silver Member
Silver Member
 
Messaggi: 1116
Iscritto il: mar gen 22, 2008 8:57 pm
Località: Casoria

Re: Strana definizione dei puntatori

Messaggioda bluesummer » ven set 05, 2008 1:44 pm

Si, il fatto che sia attaccato o meno al tipo di dati o alla variabile definita non cambia il significato, quindi

char* p
char * p
char *p

identificano tutti la medesima cosa: p è un puntatore di tipo char e contiene un indirizzo di memoria.

Esempietto nel caso tu non sappia come funziona un puntatore:
char a;
char *p;

a=10; // assegno valore a variabile a
p= &a; // assegno a p indirizzo della variabile a
*P=11; // assegno alla zona di memoria il cui indirizzo è registrato in p il valore 11

// a ora vale 11
www.slipangle.it
Avatar utente
bluesummer
Aficionado
Aficionado
 
Messaggi: 104
Iscritto il: lun mag 19, 2008 12:47 pm

Re: Strana definizione dei puntatori

Messaggioda dararag » ven set 05, 2008 1:53 pm

grazie per la spiegazione, anche se lo so come funziona un puntatore, almeno il pocket sul C l'ho finito
Maledette aziende produttrici, l'unico telefilm interessante degli ultimi tempi l'hanno interrotto alla decima puntata... e chi voleva sapere la fine?
Avatar utente
dararag
Silver Member
Silver Member
 
Messaggi: 1116
Iscritto il: mar gen 22, 2008 8:57 pm
Località: Casoria


Torna a Programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising