C++Punteros


Introducción

Un puntero es una dirección que se refiere a una ubicación en la memoria. Se utilizan comúnmente para permitir que las funciones o estructuras de datos conozcan y modifiquen la memoria sin tener que copiar la memoria a la que se hace referencia. Los punteros se pueden utilizar con tipos primitivos (integrados) o definidos por el usuario.

Los punteros hacen uso de la "desreferencia" * , "dirección de" & , y "flecha" -> operadores. Los operadores '*' y '->' se usan para acceder a la memoria a la que se apunta, y el operador & se usa para obtener una dirección en la memoria.

Sintaxis

  • <Tipo de datos> * <Nombre de variable>;
  • <Tipo de datos> * <Nombre de variable> = & <Nombre de variable del mismo tipo de datos>;
  • <Tipo de datos> * <Nombre de variable> = <Valor del mismo tipo de datos>;
  • int * foo; // Un puntero que apunta a un valor entero
  • int * bar = & myIntVar;
  • barra larga * [2];
  • long * bar [] = {& myLongVar1, & myLongVar2}; // Igual a: barra larga * [2]

Observaciones

Tenga en cuenta los problemas al declarar múltiples punteros en la misma línea.

int* a, b, c; //Only a is a pointer, the others are regular ints.

int* a, *b, *c; //These are three pointers!

int *foo[2]; //Both *foo[0] and *foo[1] are pointers.

Punteros Ejemplos relacionados