¿QUE SON LOS PUNTEROS?

DEFINICIÓN:
Los punteros en C++ (o apuntadores) son quizá uno de los temas que más confusión causan al momento de aprender a programar en C++, sin embargo verás que no es para tanto y que todo depende de dos elementos: el signo & (ampersand) y el * (asterisco) que los explicaré en breve. Durante este artículo verás entonces que no es para nada difícil hacer y usar punteros y que además son de gran ayuda al momento de necesitar valores y estructuras dinámicas, por ejemplo, para crear un array dinámico, con dinámico me refiero a que su tamaño puede ser establecido en tiempo de ejecución y lo mismo se puede hacer con las matrices (que en realidad son un array multidimensional).

QUE DEBES SABER AL CREAR Y USAR LOS PUNTEROS EN C++

  • El tipo de dato del apuntador debe coincidir con el de la variable cuya posición en memoria apuntan. En el ejemplo vemos que tanto variable como apuntador son enteros.
  • Siempre que queremos usar el apuntador debemos anteponer el asterisco (*) para indicar que usaremos el valor en la posición de memoria apuntada.
  • De no usar el asterisco el comportamiento sería impredecible. Estaremos haciendo uso de la dirección de memoria más no del valor almacenado en ésta.
  • Después de usar un puntero, especialmente si trabajamos con arreglos o matrices, es MUY recomendable liberar la memoria utilizada con la función delete (tal como en el ejemplo)
  • Un puntero o apuntador puede ser de cualquier tipo de dato, inclusive los podemos usar con tipos complejos.    


             EL AMPERSAND 
El ampersand es un operador de C++ y es comúnmente utilizado para los punteros. Este operador nos permite obtener la dirección de memoria de una variable cualquiera y es justo esto (la dirección en memoria) lo que utilizan los punteros para referenciar valores.

                                         EL ASTERISCO
El asterisco es, por decirlo de alguna forma, el operador por excelencia de los punteros. Su utilidad radica en que si el valor de dicho apuntador corresponde a una dirección de memoria, el asterisco nos permite resolverla y acceder al valor almacenado allí. Viéndolo desde otro enfoque, un apuntador es únicamente una dirección de memoria (un número) y el asterisco es el que hace la magia de obtener el valor referenciado por dicha dirección.
Veamos otro ejemplo con cada elemento detallado paso a paso

EJERCICIO:

#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
main(){
char c;
char *ptrc;
printf("Inserte lo que quiera : ");
scanf("%c", &c);
if((c>=65 && c<=90)||(c>=97 && c<=122)){
printf("Es una letra \n");
}
else{
printf("Es un Numero");
}
getch();

}

Comentarios

Entradas populares de este blog

EJERCICIO N°5: Crear un programa el cual ingrese dos números y verifique cual es el mayor y cual es el menor de los dos y este realice un cuadrado mediante la respuesta: