Mindmap
PUNTEROS
Inhalt der Mindmap
PUNTEROS
Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato en un arreglo. Esto quiere decir, que el puntero apunta al espacio físico donde está el dato o la variable. Un puntero puede apuntar a un objeto de cualquier tipo, como por ejemplo, a una estructura o una función. Los punteros se pueden utilizar para referencia y manipular estructuras de datos, para referenciar bloques de memoria asignados dinámicamente y para proveer el paso de argumentos por referencias en las llamadas a funciones.
- DEFINICION
- Es importante que los punteros siempre apunten a variables del mismo tipo. Si se mezclan los tipos, los resultados son erróneos. También es importante inicializar los punteros antes de utilizarlos. Si no se inicializan, es decir, si no apuntan a algún sitio válido, se pueden alterar otras zonas de memoria, ya se a del propio programa o del sistema operativo.
DECLARACION DE PUNTEROS
- <tipo>: Es cualquier tipo de variable en C.
- & : Devuelve la dirección de memoria del operando.
- *: Devuelve el valor almacenado en la dirección de memoria que determina el operando.
- & : Devuelve la dirección de memoria del operando.
- <tipo>: Es cualquier tipo de variable en C.
VENTAJAS Y DESVENTAJAS
- Ofrecen potencia y la flexibilidad en C.
- Se pueden tener apuntadores a cualquier tipo de variable.
- También son útiles para pasarle parámetros a las funciones de tal modo que les permiten modificar y regresar valores a la rutina que las llama.
- Es la única forma de expresar algunos cálculos.· Se genera código compacto y eficiente. · Es una herramienta muy poderosa
- No es posible en otros lenguajes.
VENTAJAS Y DESVENTAJAS
- El operador unario o monádico y devuelve la dirección de memoria de una variable.
- Ofrecen potencia y la flexibilidad en C.
- También son útiles para pasarle parámetros a las funciones de tal modo que les permiten modificar y regresar valores a la rutina que las llama.
- El manejo complicado del almacenamiento. Alta sobrecarga por el movimiento de líneas.
- Un apuntador a cualquier tipo de variables es una dirección en memoria -- la cual es una dirección entera, pero un apuntador NO es un entero.
- No es posible en otros lenguajes.
- No asignar un apuntador a una dirección de memoria antes de usarlo
DEFINICION
- el puntero apunta al espacio físico donde está el dato o la variable. Un puntero puede apuntar a un objeto de cualquier tipo
- Es importante que los punteros siempre apunten a variables del mismo tipo. Si se mezclan los tipos, los resultados son erróneos. También es importante inicializar los punteros antes de utilizarlos. Si no se inicializan, es decir, si no apuntan a algún sitio válido, se pueden alterar otras zonas de memoria, ya se a del propio programa o del sistema operativo.
- el puntero apunta al espacio físico donde está el dato o la variable. Un puntero puede apuntar a un objeto de cualquier tipo
SINTAXIS
- <tipo>:es cualquier tipo de variable en C.
- <identificador>:es el nombre del puntero. El tipo o tipo base, indica el tipo de variables que se podrán manipular a través del puntero. Es importante conocer el tipo base de un puntero, puesto que toda la aritmética de punteros se realiza con relación a la base.
- &:Devuelve la dirección de memoria del operando.
- *: Devuelve el valor almacenado en la dirección de memoria que determina el operando.
EJEMPLOS
- #include <stdio.h> int main() { int array[10]={1,7,2,0,7,9,0,9,0,4}; //Declarar e inicializar un array. int *puntero = &array[0]; //Le damos la dirección de inicio del array int i; //variable contadora... for (i=0;i<10;i++) printf("%d\n",*(puntero+i)); //imprimimos los valores del puntero. return 0; }
- #include <stdlib.h> #include <stdio.h> void main() { int x; char * mes[] = { "mes ilegal", "enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto", "septiembre", "octubre", "noviembre", "diciembre", }; scanf("%d",&x); printf("El mes %d corresponde a %s \n",x,mes[x]); }
- #include <stdio.h> int main() { int array[10]={1,7,2,0,7,9,0,9,0,4}; //Declarar e inicializar un array. int *puntero = &array[0]; //Le damos la dirección de inicio del array int i; //variable contadora... for (i=0;i<10;i++) printf("%d\n",*(puntero+i)); //imprimimos los valores del puntero. return 0; }
Informationen
- Beschreibung
- Mindmap am PUNTEROS, erstellt von Cristhian 5844 am 18/06/2019.
- Erstellt von
- Cristhian 5844
- Aufrufe
- 1
- Bewertung