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

Steven Davidson srd4121 en njit.edu
Mie Ene 26 06:53:19 CET 2011


Hola José Luis,

On 1/26/2011 12:42 AM, Jose Luis Rodriguez Villanueva wrote:
> Ah! ya voy comprendiendo, si fuera una plataforma de 64 bits el
> resultado sería 8 y esto tiene que ver con la alineación de bytes que se
> menciona en ObjetosIII:Estructuras de C++ con clase.

Es cierto que en una plataforma de 64 bits, las direcciones de memoria 
son de 8 bytes. También es cierto que tiene algo que ver con la 
alineación de datos. Sin embargo, la alineación de bytes en estructuras 
es algo diferente, ya que depende de los tipos de los campos definidos; 
no tiene por qué corresponder con la cantidad de bytes de la plataforma.

> Sin embargo aun no me queda claro por que sizeof(numero[0]) es 1,
> incluso he cambiando el valor del índice a 4 o 10.

Bueno, acabas de enviar otro correo-e mientras escribía esto. 
Efectivamente, 'numero[0]' es un valor de tipo 'char'. Por lo tanto, 
'sizeof(char)' es siempre 1 byte.

> De todas formas ya voy llegando al capítulo de Punteros.

Se explicarán más cosas acerca de los punteros y del manejo de memoria 
en este capítulo y seguramente entenderás mejor este tema.


Espero que vayamos aclarando las dudas.

Steven





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