Il Forum di Orebla.it

Benvenuto nella community di Orebla.it
Oggi è mer 20 nov, 2019 4:37 am

Tutti gli orari sono UTC + 1 ora




Apri un nuovo argomento Rispondi all’argomento  [ 12 messaggi ] 
Autore Messaggio
 Oggetto del messaggio: [C] I puntatori
Messaggio da leggereInviato: mar 13 set, 2005 3:37 pm 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Allora nel mio viaggio all'interno del C ho trovato un altro ostacolo che non riesco a superare da solo.
Mi dovete spiegare a che cavolo servono i puntatori, cosiderati il punto chiave del C...
Io proprio non ci capisco un cavolo....

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: mer 14 set, 2005 5:09 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
i puntatori sono variabili che puntano a zone di memoria dove sono allocate altre variabili o cmq altri dati. qualche esempio:

Codice:

.....

int x = 2;     // Dichiaro una variabile di tipo int
int *p1;       // Dichiaro un puntatore di tipo int

p1 = &x;     // p1 punta alla zona di memoria dove risiede la variabile x

printf ("La variabile x risiede all'indirizzo %p\n",p1);
// Stampo attraverso la printf() l'indirizzo di memoria (in esadecimale) in
// cui risiede la variabile x

*p1 = 3;     // Cambio indirettamente il valore di x camiando il valore del
                 // suo puntatore


quando si usa la funzione scanf() non si fa altro che richiamare indirettamente un puntatore:

Codice:
int x;

scanf("%d",&x);    // Alloco nella zona di memoria che fa riferimento alla
                           // variabile x il valore immesso da tastiera sotto forma
                           // di intero decimale


gli stessi array si possono usare semplicemente come puntatori a zone di memoria; in questo modo il puntatore corrispondente ad un certo array punta al primo valore di quell'array stesso:

Codice:

int array[10];

*array = 4;     // Equivale a scrivere array[0] = 4



ora tutte queste ti sembreranno chiacchere inutili, ma vedrai che quando si tratta di istanziare strutture con l'allocazione dinamica della memoria (e, nel C++, quando si tratta di istanziare delle classi) i puntatori sono fondamentali:

Codice:
typedef struct  {
  char username[50];
  char pwd[50];
} Data;

// La mia struttura
...

main()  {
  Data *pt;

  printf ("Inserisci l'username: ");
  scanf("%s",&pt->username);       // Accedo ai membri della struttura
                                                   // attraverso il puntatore che ho dichiarato

  ...
}


oppure, in C++ :

Codice:
class A  {
  string str;
public:
  void foo()  {
    str = "Hello world!\n";
    cout << str;
  }
};

main()  {
  A *pt = new A;       // Dichiaro un puntatore alla classe A

  pt->foo();              // Accedo ai membri pubblici della classe A
                              // attraverso il puntatore precedentemente
                              // dichiarato
}


attenzione che i puntatori sono una delle caratteristiche pi? potenti e interessanti del C/C++, ma anche una delle pi? pericolose in quanto attraverso un puntatore si potrebbe modificare qualsiasi zona di memoria. per questo alcuni linguaggi moderni come il Java hanno pensato di eliminare definitivamente i puntatori.

in ogni caso, soffermati particolarmente su questo argomento, che ? proprio fra i pi? importanti e anche fra i pi? difficili da comprendere del C

_________________
Immagine
Immagine


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: mer 14 set, 2005 7:17 pm 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Si infatti ho capito che questo argomento ? il pi? importante e potente di questo linguaggio.

Mi soffermer? pi? tempo su questo cercando anche diversi articoli sul web.
Spero al pi? presto di avere un po di tempo per studiarlo bene perch? con il poco tempo che ho non posso che leggere...

Cmq Blacklight sei sempre chiaro ed esauriente, dovresti fare l'insegnante!!! :wink:

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: gio 15 set, 2005 10:00 am 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
:oops:

fammi prima laureare almeno :D

_________________
Immagine
Immagine


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: gio 15 set, 2005 11:46 am 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Cavolo Blacklight sapessi quanto avrei desiderato fare anchio informatica all'universit?...
Invece st? facendo economia e commercio....

Cos? imparo a non seguire le mie passioni....

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: gio 15 set, 2005 2:53 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: mar 28 dic, 2004 6:54 pm
Messaggi: 300
Località: Pisa
forse il mio errore ? stato proprio quello di non fare informatica ma ingegneria informatica... qui un computer lo vedremo solo quando inizieremo i master di primo livello... per il triennio solo tanta matematica, tanta elettronica, tante nozioni di calcolo elettronico...

_________________
Immagine
Immagine


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: gio 15 set, 2005 5:42 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: ven 22 apr, 2005 4:10 pm
Messaggi: 384
Località: un paesino della bassa
In un certo senso mi sento tirata in causa
Ad informatica c'? anche fisica I e II e statistica e altre balle varie
In ogni corso di studio c'? qualcosa che fa schifo

_________________
La cosa seccante di questo mondo è che gli imbecilli sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: gio 15 set, 2005 6:11 pm 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Si alcune materie sono inutili o pi? che altro non sono inserite bene. Poi anchio non avrei fatto ing informatica perch? c'? troppa matematica e io non ci vado molto d'accordo...

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: ven 16 set, 2005 11:03 am 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: ven 22 apr, 2005 4:10 pm
Messaggi: 384
Località: un paesino della bassa
Sei il solito! Potevi venire a informatica.
Ma sei sempre in tempo...

_________________
La cosa seccante di questo mondo è che gli imbecilli sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: ven 16 set, 2005 12:19 pm 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Si Elisa ci ho pensato anchio ma oramai avrei perso un anno e non mi va proprio di rifare tutto da capo...

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: ven 16 set, 2005 5:51 pm 
Non connesso
super-guru
super-guru
Avatar utente

Iscritto il: ven 22 apr, 2005 4:10 pm
Messaggi: 384
Località: un paesino della bassa
C'? gente che lascia ingegneria per andare a economia perdendo un anno.
Magari un paio di esami te li passano

_________________
La cosa seccante di questo mondo è che gli imbecilli sono sicuri di sé, mentre le persone intelligenti sono piene di dubbi


Top
 Profilo  
 
 Oggetto del messaggio:
Messaggio da leggereInviato: sab 17 set, 2005 8:59 am 
Non connesso
Amministratore
Amministratore
Avatar utente

Iscritto il: lun 27 dic, 2004 10:32 am
Messaggi: 2614
Località: Ferrara
Lo so per? ora mai la frittata ? fatta...
Penso che studier? l'informatica come una passione, poi se faccio carriera tanto meglio!!

_________________
I'm so happy because today
I've found my friends ...
They're in my head

[NIRVANA - LITHIUM]
Il Blog del disperato: http://blog.orebla.it


Top
 Profilo  
 
Visualizza ultimi messaggi:  Ordina per  
Apri un nuovo argomento Rispondi all’argomento  [ 12 messaggi ] 

Tutti gli orari sono UTC + 1 ora


Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron
Powered by phpBB® Forum Software © phpBB Group
Traduzione Italiana phpBBItalia.net basata su phpBB.it 2010
phpBB SEO