|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#21 |
|
Member
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
|
La malloc è in un capitolo che devo ancora studiare
E comunque 'sti puntatori all'inizio sono un po' ostici
__________________
No! Provare no! Fare, o non fare. Non c'è provare. Feedback positivi per: vortex99, 10ruicosta10, lera757. |
|
|
|
|
|
#22 |
|
Senior Member
Iscritto dal: Mar 2004
Messaggi: 16053
|
si all'inizio ma poi non ti verrà + in mente di gestire un array con un indice e userai sempre i puntatori
|
|
|
|
|
|
#23 |
|
Member
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
|
Mi sto impegnando per comprenderli al meglio...
Il fatto è che il puntatore mi sembra troppo dispersivo... Un vettore mi dà l'idea di essere un bel trenino di dati, coi suoi vagoni in ordine... Il puntatore mi sembra troppo vago, non vedo i suoi elementi come uno in fila all'altro... Mi sbaglio? Mi rendo conto che magari la figata sta proprio qui... Mi con tutte le cose in ordine mi sento meglio
__________________
No! Provare no! Fare, o non fare. Non c'è provare. Feedback positivi per: vortex99, 10ruicosta10, lera757. |
|
|
|
|
|
#24 |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
il vettore è un trenino di dati e funziona così. se io dichiaro il vettore come
Codice:
int A[10]; una cosa importante è che la dimensione di un vettore non può essere variata a tempo d'esecuzione e rimane tale (in questo caso 10) fino al termine del programma. capirai bene che se A, come abbiamo detto, è un indirizzo di memoria, quando io dichiaro un puntatore vuol dire che dichiaro qualcosa di sostanzialmente uguale ad A, cioè un vettore. la dichiarazione di un puntatore avviene scrivendo Codice:
int *B; Codice:
B= (int *) malloc (10*sizeof(int)) ti riporto una serie di scritture equivalenti che possono essere usate indifferentemente sia nel caso la variabile sia stata dichiarata come un vettore che come un puntatore (con il simbolo = intendo "equivalente") A[0] = *(A) A[6] = *(A+6) &A[0] = A &A[6] = A+6 al momento non me ne vengono altre... Ultima modifica di VegetaSSJ5 : 17-01-2005 alle 23:58. |
|
|
|
|
|
#25 |
|
Member
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
|
Adesso so a che serve la malloc, grazie
Se non la usassi, un vettore dichiarato tramite puntatori potrebbe avere dimensione potezialmente infinita? Questo nei limiti della memoria fisica, dei confini dedicati al programma ecc... Che rischi si correrebbero quando scorro gli indici del puntatore? Accedo a dati che non mi interessano?
__________________
No! Provare no! Fare, o non fare. Non c'è provare. Feedback positivi per: vortex99, 10ruicosta10, lera757. |
|
|
|
|
|
#26 | |
|
Senior Member
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
|
Quote:
Codice:
for (i=0; i<n; ++i) A[i]= ... chiaro?? |
|
|
|
|
|
|
#27 |
|
Member
Iscritto dal: Dec 2002
Città: Mantova & Milano
Messaggi: 86
|
Proprio come pensavo
Il segmentation fault ho già avuto modo di conoscerlo in laboratorio Grazie ancora!
__________________
No! Provare no! Fare, o non fare. Non c'è provare. Feedback positivi per: vortex99, 10ruicosta10, lera757. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 09:43.



















