Puntatori e funzioni

di il
4 risposte

Puntatori e funzioni

Ciao a tutti! ho poca esperienza col C e vorrei chiedervi una mano per chiarire qualche dubbio.
Vi posto un codice in cui faccio qualche errore con l'uso dei puntatori e delle funzioni.
Nel main assegno dei valori agli elementi di un array e poi richiamo una funzione che dovrebbe calcolare la somma degli elementi dell'array:

#include <stdio.h>

double sum (double *, int);

int main(void)
{
    int     j, n = 5;
    double  a[n], *p;
        
        p = a;
	for (j = 0; j < n; ++j)
		*(p + j) = j;

	printf("%f", sum(&p, n));
	return 0;
}

double sum(double a[], int n)   
{
	int     i;
	double  sum = 0.0;

	for (i = 0; i < n; ++i)
		sum = sum + a[i];
	return sum;
}
Mi dà un warning che dice: "assignement of pointer to pointer to double to pointer to double"

Qualcuno potrebbe indicarmi che errori faccio e in caso spiegarmeli?
Grazie mille!

4 Risposte

  • Re: Puntatori e funzioni

    Spiega anche cosa vorresti fare con quel codice o cosa dovrebbe fare ...
  • Re: Puntatori e funzioni

    Vorrei semplicemente assegnare dei valori (0,1,2 ecc...) agli elementi di un array e poi richiamare una funzione che dovrebbe calcolare la somma degli elementi dell'array
  • Re: Puntatori e funzioni

    La chiamata dovrebbe essere

    sum(p, n)

    perché p è già un puntatore al vettore
  • Re: Puntatori e funzioni

    Certo! grazie mille Oregon!
Devi accedere o registrarti per scrivere nel forum
4 risposte