Puntatori

di il
4 risposte

Puntatori

Salve, ho una domanda sui puntatori come argomento di funzioni:
supponiamo di avere definito la funzione
void ProdVecScal(int dim, const double *a,const double *b, double *z, double *scal);
nell'int main aquisisco a[dim] e b[dim] (con dim=3)
quindi dichiaro la funzione ProdVecScal(3, a, b, z, &scal)
il mio dubbio è qui: quando devo mettere la & vicino alle variabile scal (o z)??

4 Risposte

  • Re: Puntatori

    A e b sono due vettori, quindi il loro nome rappresenta già il puntatore al primo elemento. Dunque passerai a e b

    Le altre variabili non so di che tipo siano quindi non si può rispondere-
  • Re: Puntatori

    Le altre variabili
    z è un vettore di double
    scal è una variabile di tipo double
  • Re: Puntatori

    Supponiamo 'f()' sia una funzione, 'x' un elemento e 'n' un int che rappresenta la posizione dell'elemento scelto

    f(int) & int x; --> f( x )

    f(int) & int* x; --> f( *x ) o f( x[n] )

    f(int*) & int x; --> f( &x )

    f(int*) & int* x; --> f( x ) o f( &x[n] ) o f( (x+n) )



    PS: Il tipo di dato rappresenta la sua dimensione in memoria e il suo "compito", ma nel caso di tipi primitivi (int, float, char, ecc...) non influisce sui puntatori
  • Re: Puntatori

    hack014 ha scritto:


    le altre variabili
    z è un vettore di double
    scal è una variabile di tipo double
    Quindi per z vale lo stesso discorso di a e b

    Per scal, dovrai passare il puntatore con

    &scal
Devi accedere o registrarti per scrivere nel forum
4 risposte