Visual C++ .NET - problemas con punteros

 
Vista:

problemas con punteros

Publicado por alfredo (3 intervenciones) el 14/05/2009 01:41:13
hola

estos son programas que me cuestan un poco de trabajo
bueno no se si me podrian ayudar

ok gracias

¿Son iguales o diferentes las direcciones de memoria de r y n? ¿Porque?
void main()
{
int n=33;
int &r=n;
cout <<”&n=”<<”,&n<<”&r=”<<&r<<end1;
}


¿Cuál es la diferencia entre las dos siguientes sentencias, si s1 y s2 tienen
tipos *char?

s1 = s2 ;
strcpy(s1, s2) ;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Direcciones de memoria y operaciones con cadenas de caracteres

Publicado por Alejandro (265 intervenciones) el 06/02/2024 23:49:44
¡Hola Alfredo! Con gusto te ayudaré con tus preguntas:

Pregunta 1:



1
2
3
4
5
6
void main()
{
    int n = 33;
    int &r = n;
    cout << "&n=" << &n << ", &r=" << &r << endl;
}

En este fragmento de código, `n` y `r` son variables de tipo entero, pero `r` es una referencia a `n`. Por lo tanto, cuando imprimes las direcciones de memoria, deberían ser las mismas, ya que `r` está haciendo referencia a la misma ubicación de memoria que `n`.

Pregunta 2:



Sentencia 1: `s1 = s2;`
Esta sentencia asigna el valor de `s2` a `s1`. Aquí, se está copiando el contenido de `s2` en `s1`. Si `s1` y `s2` son punteros a `char` (cadenas de caracteres), estarías copiando la dirección de memoria y apuntando a la misma cadena.

Sentencia 2: `strcpy(s1, s2);`
Esta función `strcpy` copia el contenido de la cadena apuntada por `s2` en la cadena apuntada por `s1`. Aquí, se están copiando los caracteres, no solo la dirección de memoria. Es importante asegurarse de que `s1` tenga suficiente espacio para contener la cadena `s2` y el carácter nulo que indica el final de la cadena.

En resumen, la diferencia es que la primera sentencia copia la dirección de memoria, mientras que la segunda copia el contenido de la cadena.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar