Apuntadores
Folien in diesem Satz (11)
-
- Objetivos
- •
- Comprender los apuntadores y los operadores para apuntadores.
- •
- Utilizar los apuntadores para pasar por referencia argumentos a
- una función.
- •
- Comprender las relaciones entre apuntadores, arreglos y cadenas.
- •
- Comprender el uso de los apuntadores a funciones.
- •
- Definir y utilizar los arreglos de cadenas.
-
- Los apuntadores son variables cuyos valores son direcciones de memoria.
-
- Por lo general, una variable contiene directamente un valor
- específico. Por otro lado, un apuntador contiene la dirección de una
- variable que contiene un valor específico.
- El nombre de una variable hace referencia directa a un valor, yun apuntador hace referencia indirecta un valor.
-
- Los apuntadores permiten a los
- programadores simular las llamadas por referencia, y crear y manipular
- estructuras de datos dinámicas, es
- decir,
- estructuras de datos que pueden crecer y encogerse en tiempo de
- ejecución, tales como listas ligadas, colas, pilas y árboles.
-
- Los apuntadores, como todas las variables, deben definirse antes de que se puedan utilizar.
- <tipo> *<identificador>;
-
Paso de un puntero a una funcion
- Las estructuras también pueden ser pasadas por valor y por referencia.
- Las reglas se les aplican igual que a los tipos fundamentales: las estructuras
- pasadas por valor no conservarán sus cambios al retornar de la función.
- Las estructuras pasadas por referencia conservarán los cambios que se
- les hagan al retornar de la función.
- En el caso de las estructuras, los objetos pueden ser muy grandes, ocupando
- mucha memoria. Es por eso que es frecuente enviar referencias como parámetros,
- aunque no se vayan a modificar los valores de la estructura. Esto evita que
- el valor del objeto deba ser depositado en la pila para ser recuperado por
- la función posteriormente.
-
Manejo de punteros y arreglos de una dirección.
- En el lenguaje C los punteros y los arrays están estrechamente relacionados. Para facilitar su estudio vamos a diferenciar los casos de arrays unidimensionales (vectores) cadenas de caracteres y arrays multidimensionales.
- Se pueden utilizar variables puntero que contengan la dirección de un array, lo que posibilita la realización de todas aquellas operaciones permitidas con punteros.
-
Asisgancion dinamica de memoria
- La asignación de memoria consiste en el proceso de asignar memoria para propósitos específicos, ya sea en tiempo de compilación o de ejecución. Si es en tiempo de compilación es estática, si es en tiempo de ejecución es dinámica y si son variables locales a un grupo de sentencias se denomina automática.
-
- Sumar o restar un número entero a un puntero.
- Nombre_punter + n = Dirección + n *tamaño_tipo_dato Incremento o decremento de punterosFloat *apunt;
- Apunt++;
- Resta de dos punteros.
- int tabula[10], d;
- int *ptab1 = &tabula[1];
- int *ptab2 = &tabula[4];
- d = ptab1 – ptab2;
-
Funcion a una Funcion (Aplicacion)
- Sintaxis:
- <tipo> &<identificador_función>(<lista_parámetros>);
- También es posible devolver referencias desde una función, para ello
- basta con declarar el valor de retorno como una referencia.
- Esto nos permite que la llamada a una función se comporte como un objeto, ya
- que una referencia se comporta exactamente igual que el objeto al que referencia, y podremos
- hacer cosas como usar esa llamada en expresiones de asignación.
-
- Una función es una secuencia de instrucciones que componen una tarea específica en un algoritmo, es decir, una función es un tipo de subtarea de un programa o subalgoritmo.
- En C++, no se pueden anidar funciones, es decir, no se puede declarar una función dentro de otra.
- La sentencia return se usa para devolver la variable de salida. Si no se quiere retornar nada, se especifica el tipo_retorno como void y se prescinde del return.
Informationen
- Beschreibung
- Presentación sobre los apuntadores en c
- Erstellt von
- Luis Romero · Feb 2016
- Aktualisiert
- 30 Nov 2016
- Aufrufe
- 39
- Tags
- Bewertung