[C con Clase] Prototipos!!
Steven Davidson
srd4121 en njit.edu
Mie Jun 11 07:19:42 CEST 2008
Hola Zaka,
Zaka Elab wrote:
> Hola a todos!!
>
> Estoy haciendo los ejercicios del tema 10 de arrays.
>
> En el ejercicio 4 (http://c.conclase.net/curso/index.php?cap=010 )
> piden, entre otras cosas, que si la cadena contiene un número este sea
> aumentado, pero con el prototipo que facilitan el ejercicio no se puede
> hacer una "devolución" ya que no es pasado por referencia si no por
> valor.
>
Efectivamente, se pasa por valor, pero no se pasa el contenido. Lo que
se copia o lo que se pasa por valor es la dirección de memoria.
Todo esto se habla en el capítulo 12 (
http://c.conclase.net/curso/index.php?cap=012 ), cuando tratamos el tema
de punteros.
> ¿Me estoy equivocando en algo?¿Cómo debería ser?
>
Debe ser como hemos dicho:
bool Incrementa( char numero[10] );
No hemos explicado la razón de hacer esto, porque aún no hemos hablado
de punteros y direcciones de memoria ni tampoco de la relación que
existe con los arrays. Como ya he mencionado, esto se habla en el
capítulo 12.
Por ahora, piensa que 'numero' contiene la información (los caracteres)
tanto entrante como saliente; o sea, se puede leer y escribir al array
manteniendo los cambios después de la invocación.
Espero que esto te ayude.
Steven
Más información sobre la lista de distribución Cconclase