si es tan importante el tamaño hace una clase que tenga como uno de sus atributos el tamaño, con las funciones correspondientes para ir llevando la cuenta.<br>David<br><br><div class="gmail_quote">El 27 de noviembre de 2008 19:10,  <span dir="ltr"><<a href="mailto:srd4121@njit.edu">srd4121@njit.edu</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">Hola Narcis,<br>
<br>
Quoting Narcis Garcia - GiLUG <<a href="mailto:informatica@actiu.net">informatica@actiu.net</a>>:<br>
<br>
</div><div class="Ih2E3d">> Entiendo entonces que para pasar matrices a una función de momento no<br>
> hay más remedio que añadir un parámetro con su tamaño, debido a que este<br>
> dato (o su referencia) se pierde por el camino.<br>
><br>
<br>
</div>Bueno, no es que se pierda, es que sencillamente no pertenece al tipo de dato<br>
que se pasa a la función. Internamente, un parámetro declarado de un tipo de<br>
array realmente es un puntero. Por ejemplo,<br>
<br>
void func( int lista[] );<br>
<br>
es equivalente a,<br>
<br>
void func( int *lista );<br>
<br>
Asimismo,<br>
<br>
void func2( int matriz[][10] );<br>
<br>
es equivalente a,<br>
<br>
void func2( int (*matriz)[10] );<br>
<br>
Al final, se trata de un puntero. Esto forma parte del diseño de ambos lenguajes<br>
de C y C++.<br>
<div class="Ih2E3d"><br>
> C++ debe almacenar en algun lugar lo que ocupa una matriz. ¿Este dato<br>
> sólo es accesible mediante la precaria función sizeof() ? ¿Cómo lo hace<br>
> sizeof() para encontrar el tamaño de los datos de una matriz?<br>
><br>
<br>
</div>En primer lugar, 'sizeof' no es una función, sino un operador. En cuanto a la<br>
determinación del tamaño del array, efectivamente el compilador conoce su<br>
tamaño. Por lo tanto, 'sizeof' también lo conoce. Sin embargo, con la<br>
explicación anterior, 'sizeof' no conoce el array original, sino el puntero que<br>
es el parámetro local. En el ejemplo anterior, 'sizeof' se basa en el parámetro<br>
'lista' o 'matriz', según la versión que elijas.<br>
<br>
<br>
Espero haber aclarado el tema.<br>
<div><div></div><div class="Wj3C7c"><br>
Steven<br>
<br>
<br>
_______________________________________________<br>
Lista de correo Cconclase <a href="mailto:Cconclase@listas.conclase.net">Cconclase@listas.conclase.net</a><br>
<a href="http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net" target="_blank">http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net</a><br>
Bajas: <a href="http://listas.conclase.net/index.php?gid=2&mnu=FAQ" target="_blank">http://listas.conclase.net/index.php?gid=2&mnu=FAQ</a><br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br> (\__/) <br>(='.'=)This is Bunny. Copy and paste bunny into your <br>(")_(")signature to help him gain world domination. <br><br>