PDA

Visualizza la versione completa : [C++] Passaggio di array a funzione non corretto


Aardvark
14-10-2006, 09:39
#include <iostream>
using namespace std;


void splitta_stringa (char splittarsi[]);


int main() {

char contenuto[]="Prova riprova e controprova";
cout << sizeof(contenuto) << endl;

splitta_stringa (contenuto);

system ("pause");
return 0;
}



void splitta_stringa (char splittarsi[]) {

cout << sizeof(splittarsi) << endl;

}

Perch prima di passare la variabile nella funzione la sua dimensione 28 e dopo che stata passata 4?

MItaly
14-10-2006, 14:56
Se non specifichi le dimensioni di un array nel passaggio ad una funzione questo verr passato come un puntatore al primo elemento dell'array; essendo la dimensione di un puntatore di 4 bytes (sulle piattaforme a 32 bit) l'output del tuo programma corretto.

Loading