[C con Clase] Prototipos!!

Steven Davidson srd4121 en njit.edu
Mie Jun 11 20:23:45 CEST 2008


Hola Zaka,

Zaka Elab wrote:
> Hola otra vez,
> 
> He seguido haciendo pruebas, y estas sí que te dan la razón:
> 
> ¿Por qué esta divergencia entre esta forma y la anterior?
> 
> 

Veamos el código.

> #include <iostream>
> 
> using namespace std;
> 
> void foo(char a[10]){
>      for (int i=0;i<8;i++)

Podríamos ir hasta el índice 8; o sea,

for( int i=0; i<9; i++ )

>          a[i]='a';
>      a[9]=0;
> }
> 

Bueno, la verdad es que ya he comentado acerca de esto en mi correo-e 
anterior. En este caso, estás modificando los elementos de la cadena 
'a', tanto el parámetro como el original, porque ambos 'a' "apuntan" a 
la misma información: la misma cadena. Por esta razón las modificaciones 
permanecen cuando terminamos la función y cuando el parámetro local 'a' 
es destruido.


Espero haber aclarado el tema.

Steven





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