Puntatori e array

di il
1 risposte

Puntatori e array

Salve, vorrei discutere riguardo un mio dubbio sui puntatori e gli array. Per me è un argomento abbastanza delicato, infatti ci sto impiegando tanto a capire bene le cose
Allora, io studio attualmente da programmazione C di King, sono arrivato da poco all'argomento dei puntatori e i vettori e il mio dubbio riguarda al nome di un vettore. Il nome di un vettore può essere utilizzato come fosse un puntatore al primo elemento, quindi perché quando io ad esempio:
int A[]={1,2,3}

funzione(A);

faccio una chiamata a funzione utilizzando come argomento il nome di un vettore, sto passando un puntatore al primo elemento di A. Quindi se alla funzione stabilisco il paramento della funzione come:
void funzione(int *p)
for(; p< p+3; p++)
Perché non posso utilizzare l'indirizzo di base di un vettore in questo modo? Perché non potrei incrementare p se p è un puntatore che punta al primo elemento di A?
Invece posso assegnare l'indirizzo a cui punta un puntatore ad un altro puntatore e non mi segnala errori:
void funzione(int *p)
int *c=p;
for(; c< p+3; c++)

Inoltre perché non posso utilizzare l'indirizzo a cui punta c come un limite della condizione?
void funzione(int *p)
int *c=p;
for(; c< [b]c[/b]+3; c++)

E' qualche giorno che cerco di capire questi problemi, vorrei il consiglio di un esperto. Scusate se non sono stato abbastanza chiaro, ma è abbastanza difficile esprimermi su questo argomento.

1 Risposte

  • Re: Puntatori e array

    Non puoi mettere in una condizione una variabile che modifichi man mano che il ciclo va avanti.

    p+3

    varia ogni volta che fai

    p++

    e quindi il ciclo non ha senso.
Devi accedere o registrarti per scrivere nel forum
1 risposte