Professional Documents
Culture Documents
Campus Pichucalco
PICHUCALCO, CHIAPAS A 25 DE
JULIO DE 2015
Introduccin
Puntero
(Informtica)
Considero
que
las
sentencias
de
asignacin y variables
puntero estn entre los
tesoros ms valiosos
de la informtica
Donald
Knuth, Structured
Programming with go
to Statements.
lo
que
se
Concepto
Un puntero es una variable que contiene la direccin
de memoria de un dato o de otra variable que
contiene al dato. Quiere esto decir, que el puntero
apunta al espacio fsico 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 funcin. Los punteros se pueden utilizar para
referencia y manipular estructuras de datos, para
referenciar
bloques
de
memoria
asignados
dinmicamente y para proveer el paso de argumentos
por referencias en las llamadas a funciones.
Muchas de las funciones estndares de C, trabajan con
punteros, como es el caso del scanf o strcpy. Estas
reciben o devuelve un valor que es un puntero. Por Ej.
A scanf se le pasa la direccin de memoria del dato a
leer (esto es un puntero)...
Char a;
Scanf ("%c", &a);
printf("%s",nombre);
Sin embargo al tratarse de una constante de
caracteres no podemos modificarla luego de definir
sus valores. Como por ejemplo no podemos remplazar
un carcter, o leer un nuevo valor.
Gets (nombre); //ERROR en ejecucin
Para poder modificar el valor de este puntero, este
tendra que apuntar a una direccin que no sea una
constante, como un array.
Char nombre []="Gustavo A. Chavarra"; //declaramos
un array de caracteres
Char *puntero=nombre; //Asignamos al puntero el
comienzo del array
Printf ("%s \nIngrese otro nombre: ", puntero);
//Escribimos en pantalla nombre...
Gets (puntero); //leemos otro nombre
Printf ("%s", puntero); //escribimos el nuevo nombre...
Esta vez pudiste notar que si se pudo remplazar el
valor del nombre, pero aun la cantidad de caracteres
est limitada por el array original, ms adelante
veremos cmo solucionar esto con memoria dinmica.