PDA

Visualizza la versione completa : [C] Passaggio di un vettore ad una funzione


{-_-}
25-11-2007, 19:09
ho un vettore di 10 interi, se il numero pari lo sostituisco con 1 altrimenti con 0. il problema che non si compila :dh:
credo sia un errore dovuto alle precedenze nella definizione di funzione, ma non riesco a sistemarlo



#include <stdio.h>

int v[10]={1,2,3,4,5,6,7,8,9,10};
void funz_pari (int *ptr[10]);

int main(){
funz_pari (v);
}


void funz_pari (int *ptr[10])
{
int i;
for (i=0; i<10; i++){
if ((ptr[i]%2)==0) ptr[i]= 1;
else ptr[i]= 0;
}

}


grazie

ntd
25-11-2007, 19:12
int main(){
funz_pari (&v);
}

oregon
25-11-2007, 19:12
O scrivi

void funz_pari (int *ptr);

oppure

void funz_pari (int ptr[10]);

e soprattutto, quando comincia la funzione

void funz_pari (int *ptr);
{

il ; non ci va ...

{-_-}
25-11-2007, 19:17
Originariamente inviato da oregon
O scrivi

void funz_pari (int *ptr);

oppure

void funz_pari (int ptr[10]);

e soprattutto, quando comincia la funzione

void funz_pari (int *ptr);
{

il ; non ci va ...

non ho capito molto bene

nel senso, scrivendo:
int *ptr
dico che passo un puntatore ad un intero, ma in questo caso ho un vettore di interi la sessa cosa?

oregon
25-11-2007, 19:21
Il nome di un vettore di interi rappresenta il puntatore al primo intero del vettore.

Quindi lecito scrivere

int *ptr

{-_-}
25-11-2007, 19:23
si, non ci avevo pensato, l'indirizzo del primo intero e non di tutti quanti, ora chiaro

grazie infinite

Loading