Anda di halaman 1dari 4

Punteros Los punteros y el ampersand

Un puntero es una variable que contiene la El ampersand es un operador de C++ y es


dirección de memoria de un dato o de otra comúnmente utilizado para los punteros. Este
variable que contiene al dato en un arreglo. operador nos permite obtener la dirección de
Esto quiere decir, que el puntero apunta al memoria de una variable cualquiera y es justo
espacio físico donde está el dato o la variable. esto (la dirección en memoria) lo que utilizan
Un puntero puede apuntar a un objeto de los punteros para referenciar valores.
cualquier tipo, como, por ejemplo, a una
Los apuntadores y el asterisco
estructura o una función. Los punteros se
pueden utilizar para referencia y manipular El asterisco es, por decirlo de alguna forma,
estructuras de datos, para referenciar bloques el operador por excelencia de los punteros.
de memoria asignados dinámicamente y para Su utilidad radica en que, si el valor de dicho
proveer el paso de argumentos por apuntador corresponde a una dirección de
referencias en las llamadas a funciones. memoria, el asterisco nos permite resolverla
y acceder al valor almacenado allí. Viéndolo
Detalles al momento de usar punteros
desde otro enfoque, un apuntador es
 El tipo de dato del apuntador debe únicamente una dirección de memoria (un
coincidir con el de la variable cuya número) y el asterisco es el que hace la
posición en memoria apuntan. magia de obtener el valor referenciado por
dicha dirección.
 Siempre que queremos usar el
apuntador debemos anteponer Sobre funciones
el asterisco (*) para indicar que
Las funciones son una herramienta
usaremos el valor en la posición de
indispensable para el programador, tanto las
memoria apuntada.
funciones creadas por él mismo como las que
 De no usar el asterisco el le son proporcionadas por otras librerías,
comportamiento sería impredecible. cualquiera que sea el caso, las funciones
Estaremos haciendo uso de la permiten automatizar tareas repetitivas,
dirección de memoria más no del encapsular el código que utilizamos, e
valor almacenado en ésta. incluso mejorar la seguridad, confiabilidad y
estabilidad de nuestros programas. Dominar
 Después de usar un puntero,
el uso de funciones es de gran importancia,
especialmente si trabajamos con
permiten modularizar nuestro código,
arreglos o matrices, es MUY
separarlo según las tareas que requerimos,
recomendable liberar la memoria
por ejemplo una función para abrir, otra para
utilizada con la función delete.
cerrar, otra para actualizar, etc. básicamente
 Un puntero o apuntador puede ser de una función en nuestro código debe contener
cualquier tipo de dato, inclusive los la implementación de una utilidad de nuestra
podemos usar con tipos complejos. aplicación, es decir que por cada utilidad
básica (abrir, cerrar, cargar, mover, etc.) sería
adecuado tener al menos una función
asociada a ésta.
Las funciones son un conjunto de 3. Los argumentos de una función
procedimiento encapsulados en un bloque, también tienen un tipo y un nombre
usualmente reciben parámetros, cuyos que los identifica. El tipo del
valores utilizan para efectuar operaciones y argumento puede ser cualquiera y no
adicionalmente retornan un valor. Esta tiene relación con el tipo de la
definición proviene de la definición de función.
función matemática la cual posee un dominio
Consejos acerca de return
y un rango, es decir un conjunto de valores
que puede tomar y un conjunto de valores que Debes tener en cuenta dos cosas importantes
puede retornar luego de cualquier operación. con la sentencia return:
1. Cualquier instrucción que se
encuentre después de la ejecución de
return NO será ejecutada. Es común
encontrar funciones con múltiples
sentencias return al interior de
condicionales, pero una vez que el
Se debe recordar que una función siempre
código ejecuta una sentencia return lo
retorna algo, por lo tanto es obligatorio
que haya de allí hacia abajo no se
declararle un tipo (el primer componente de
ejecutará.
la sintaxis anterior), luego debemos darle un
nombre a dicha función, para poder 2. El tipo del valor que se retorna en una
identificarla y llamarla durante la ejecución, función debe coincidir con el del tipo
después al interior de paréntesis, podemos declarado a la función, es decir si se
poner los argumentos o parámetros. Luego de declara int, el valor retornado debe ser
la definición de la "firma" de la función, se un número entero.
define su funcionamiento entre llaves; todo lo
que esté dentro de las llaves es parte del
cuerpo de la función y éste se ejecuta hasta
llegar a la instrucción return.
Acerca de los argumentos o parámetros
Hay algunos detalles respecto a los
argumentos de una función, veamos:
1. Una función o procedimiento pueden
tener una cantidad cualquier de
parámetros, es decir pueden tener
cero, uno, tres, diez, cien o más
parámetros. Aunque habitualmente
no suelen tener más de 4 o 5.
2. Si una función tiene más de un
parámetro cada uno de ellos debe ir
separado por una coma.
Detalles para invocar funciones Para colocar los parámetros estos deben ir de
acorde a la funcionalidad o la tarea que va
 El nombre de la función debe
cumplir nuestra función. Por ejemplo, si se
coincidir exactamente al momento de
crea una función para sumar 2 números, los
invocarla.
parámetros de la función deberían ser por
 El orden de los parámetros y el tipo decirlo así, int a e int b y estar definidos
debe coincidir. Hay que ser dentro de la función.
cuidadosos al momento de enviar los
Cadenas
parámetros, debemos hacerlo en el
mismo orden en el que fueron Una cadena en C++ es un conjunto de
declarados y deben ser del mismo tipo caracteres, o valores de tipo "char",
(número, texto u otros). terminados con el carácter nulo.
Internamente se almacenan en posiciones
 Cada parámetro enviado también va
consecutivas de memoria en forma de
separado por comas.
arreglo.
 Si una función no recibe parámetros,
Algunas de las operaciones más importantes
simplemente no ponemos nada al
con cadenas, son:
interior de los paréntesis, pero
SIEMPRE debemos poner los  Copia de una cadena
paréntesis.
 Cálculo de la longitud,
 Invocar una función sigue siendo una
 Comparación,
sentencia habitual de C++, así que
ésta debe finalizar con ';' como  Concatenación,
siempre.
 Extracción de subcadenas,
 El valor retornado por una función
 Búsqueda de información dentro de
puede ser asignado a una variable del
mismo tipo. las cadenas,
 Conversiones
 Una función puede llamar a otra
dentro de sí misma o incluso puede Cuando se quiere guardar algo en una cadena
ser enviada como parámetro a otra. se usa el comando cin.getline(variable,
tamaño, ‘Cuando se quiere que termine’).
Sintaxis de una función
Tipo nombre (tipo Var1, tipo Var2, … tipo Funciones mas comunes de la librería
Varn) { string.h
Strlen: Calcula la longitud o numero de
Conjunto de instrucciones
elementos que tiene una cadena, devuelve un
numero entero por lo que la cadena deberá ser
de tipo entero.
}
Strlen(nombre de la cadena que se quiere
Una observación…
conocer el tamaño).
Strcpy: Sirve para copiar el contenido de una
cadena de caracteres a otra.
Strcpy (cadena que está vacía, cadena que se
quiere copiar).
Strcmp: Sirve para comparar dos cadenas.
Compara cual de las dos es mayor
alfabéticamente y si son iguales.
Se usa sobre todo en condicionales
Ejemplo:
If(strcmp(cadena1,cadena2)==0){
Cout<<”Ambas cadenas son iguales”;
}
Strcat: Añade o concatena una cadena con
otra.