[C con Clase] Duda con Pase de Array como parámetro

Steven Davidson srd4121 en njit.edu
Mie Ene 26 06:18:25 CET 2011


Hola José Luis,

On 1/26/2011 12:08 AM, Jose Luis Rodriguez Villanueva wrote:
> Hola,

Ante todo, bienvenido a la lsita de correo-e y a este "mundillo" de la 
programación.

> tengo una duda respecto al paso de un array como parametros.Por
> ejemplo,por qué  los tamaños son diferentes en main() y dentro de la
> función:
>
> void  main()
> {
>     char  numero[10] ="123456789";
>     int  length =sizeof(numero)/sizeof(numero[0]);
>
>     cout<<"En main: El numero de elementos es"<<length<<endl;
>
> }
>
> void  RecorreArray(numero[10])

Sería,

void RecorreArray( int numero[10] )

> {
>      int  length =sizeof(numero)/sizeof(numero[0]);
>

El problema es que 'numero' no es un array propiamente dicho, sino un 
puntero que actúa como un array. Por esta razón, el cálculo que haces 
siempre resulta en 4 bytes, en una plataforma de 32 bits.


Espero haber aclarado la duda.

Steven





Más información sobre la lista de distribución Cconclase