Está en la página 1de 6

Temas

• Apuntadores a Cadena

Administración de Proyectos de desarrollo de Software


APUNTADORES
Ciclo de vida de un proyecto
Enfoque moderno
Fin de la presentación

Continúe en la siguiente actividad

Administración de Proyectos de desarrollo de Software


APUNTADORES
Ciclo de vida de un proyecto
Enfoque moderno
APUNTADORES

Apuntadores a cadenas

• Los apuntadores se pueden utilizar en lugar de índices de arreglos.


• Considérese la siguiente declaración de un arreglo de caracteres que
contiene las 26 letras del alfabeto internacional (no se considera la ñ)
char alfabeto[27] = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
Declaremos ahora p un apuntador a char:
char *p;
Se establece que p apunta al primer carácter del alfabeto escribiendo
p = &alfabeto[0]; // o también p = alfabeto
De modo que si se escribe la sentencia:
cout << *p << endl;
APUNTADORES

Apuntadores a cadenas

Se visualizará la letra A, ya que p apunta al primer elemento de la


cadena.
• Se puede hacer también
p = &alfabeto[15];
De modo que p apuntará al carácter decimosexto (la letra Q), sin
embargo, no se puede hacer:
p = &alfabeto;
Ya que alfabeto es un arreglo cuyos elementos son de tipo char, y se
producirá un error al compilar (tipo de asignación es incompatible).
p

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
APUNTADORES

Apuntadores a cadenas

• El siguiente programa implementa una función para contar el número de


caracteres de una cadena, utilizando un apuntador para contar los caracteres de
la cadena.

include<iostream.h>
int longitud(const char*);
main()
{
static char cad[ ] = “Universidad Pontificia”;
cout << “La longitud de “ << cad << “ es “
<< longitud(cad) << “ caracteres “ << endl;
}
int longitud(const char * cad)
{
int cuenta = 0; Continua
APUNTADORES

Apuntadores a cadenas

Continuación del programa:


while(*cad++) cuenta ++;
return cuenta;
}

Se imprimirá la longitud de Universidad Pontificia es 22 caracteres.

• Comparaciones entre apuntadores y arreglos de apuntadores:


 int *ptr1[ ]; // Arreglo de apuntador a int
 int (*ptr2) [ ]; // Apuntador a un arreglo de elementos int
 int *(*ptr3) [ ]; // Apuntador a un arreglo de apuntadores a int

También podría gustarte