temas varios
Definición:
Un apuntador es una variable cuyo valor es la dirección de memoria de otra variable
Cuando se declara una variable, el compilador reserva un espacio de memoria para ella yasocia el nombre de esta a la dirección de memoria desde donde comienzan los datos de esa variable. Las direcciones de memoria se suelen describir como números en hexadecimal.
Declaración deApuntadores:
Para declarar un apuntador se especifica el tipo de dato al que apunta, el operador ‘*’, y el nombre del apuntador. La sintaxis es la siguiente:
*
Ejemplo:
int *ptr1; // Apuntador a un datode tipo entero (int)
char *cad1, *cad2; // Dos apuntadores a datos de tipo carácter (char)
float *ptr2; // Apuntador a un dato de tipo punto-flotante (float)
Asignación de Apuntadores:
Se puedenasignar a un apuntador direcciones de variables a través del operador de referenciacion (‘&’) o direcciones almacenadas en otros apuntadores.
Ejemplos:
int i = 5;
int *p, *q;
p = &i; // Se leasigna a ’p’ la dirección de ’i’
q = p; // Se le asigna a ’q’ la dirección almacenada en ’p’ (la misma de ’i’)
Verificación de tipos en apuntadores
Al igual que el resto de las variables, losapuntadores se enlazan a tipos de datos específicos (apuntadores a variables de cierto tipo), de manera que a un apuntador solo se le pueden asignar direcciones de variables del tipo especificado en ladeclaración del apuntador.
Ejemplo:
int *p1;
float *p2;
int x;
p1 = &x; // Esto es valido
p2 = &x; // Esto no es valido (el compilador genera un error)
Apuntadores, arreglos y aritmética deapuntadores
Los arreglos y apuntadores están fuertemente relacionados. El nombre de un arreglo es simplemente un apuntador constante al inicio del arreglo. Se pueden direccionar arreglos como sifueran apuntadores y apuntadores como si fueran arreglos.
Ejemplos:
int lista_arr[5] = {10, 20, 30, 40, 50};
int *lista_ptr;
lista_ptr = lista_arr; // A partir de aquí ambas variables apuntan...
Regístrate para leer el documento completo.