Breve repaso de apuntadores
Qué es
• Una variable que contiene una dirección de
memoria.
• Esta dirección de memoria puede ser la
posición de otra variable en la memoria.
Ejemplo
void Edad(void){
int edad, *aEdad;
edad = 26;
aEdad = &edad;
cout << "Contenido de variable edad " << edad << "n";
cout << "Contenido de la variable aEdad (apuntador) " << aEdad << "n";
cout << "Contenido del contenido de lo apuntado por aEdad " << *aEdad << "n";
}
26
edad
[0112FB5C]
Dirección de memoria
Nombre de variable int
Contenidodelavariable
0112FB5C
aEdad
[0112FB6D]
Dirección de memoria
Nombre de variable apuntador int
Contenidodelavariable
Declaración de apuntadores
Tipo *nombre_var;
• Se agrega * como prefijo para indicar que es
una variable tipo apuntador.
• “Tipo” define el tipo de dato al que va a hacer
referencia el apuntador.
Operadores & y *
&
• Operador de dirección o referencia. Devuelve la
dirección de memoria
*
• Operador de indirección o “desreferencia”
• Diferente al que se usa en la declaración.
• Devuelve el valor situado en la dirección del
operando – da acceso a la variable que señala el
apuntador
Operadores de apuntador
void OperadoresApuntador(void){
int *pi, i, val;
i = 100;
pi = &i;
val = *pi;
cout << "El contenido de la variable val es " << val << "n";
}
• http://www.zator.com/Cpp/E4_2_2.htm
Código de ejemplo
void OperadoresAritmeticos(void){
int x = 10, y = 2, z[3], *p;
p = NULL;
p = &x;
*p = 0;
p = &z[2];
*p = *p + 2;
p++;
}
Breve repaso de apuntadores

Breve repaso de apuntadores

  • 1.
    Breve repaso deapuntadores
  • 2.
    Qué es • Unavariable que contiene una dirección de memoria. • Esta dirección de memoria puede ser la posición de otra variable en la memoria.
  • 3.
    Ejemplo void Edad(void){ int edad,*aEdad; edad = 26; aEdad = &edad; cout << "Contenido de variable edad " << edad << "n"; cout << "Contenido de la variable aEdad (apuntador) " << aEdad << "n"; cout << "Contenido del contenido de lo apuntado por aEdad " << *aEdad << "n"; }
  • 5.
    26 edad [0112FB5C] Dirección de memoria Nombrede variable int Contenidodelavariable 0112FB5C aEdad [0112FB6D] Dirección de memoria Nombre de variable apuntador int Contenidodelavariable
  • 6.
    Declaración de apuntadores Tipo*nombre_var; • Se agrega * como prefijo para indicar que es una variable tipo apuntador. • “Tipo” define el tipo de dato al que va a hacer referencia el apuntador.
  • 7.
    Operadores & y* & • Operador de dirección o referencia. Devuelve la dirección de memoria * • Operador de indirección o “desreferencia” • Diferente al que se usa en la declaración. • Devuelve el valor situado en la dirección del operando – da acceso a la variable que señala el apuntador
  • 8.
    Operadores de apuntador voidOperadoresApuntador(void){ int *pi, i, val; i = 100; pi = &i; val = *pi; cout << "El contenido de la variable val es " << val << "n"; }
  • 10.
  • 12.
    Código de ejemplo voidOperadoresAritmeticos(void){ int x = 10, y = 2, z[3], *p; p = NULL; p = &x; *p = 0; p = &z[2]; *p = *p + 2; p++; }