Professional Documents
Culture Documents
Introduccin.
Los apuntadores o punteros son una parte fundamental de C. Si usted no puede
usar apuntadores apropiadamente, entonces usted ha perdido bsicamente todo el
poder y flexibilidad que C permite. El secreto para C est en el uso de apuntadores.
C emplea mucho los apuntadores. Por qu?:
Arreglos.
Estructuras.
Funciones.
i == 7, &i == FFF4
j == 8, &j == FFF2
pero puede variar de sistema a sistema.
El operador unario & (ampersand) regresa "la direccin de un objeto dato
(variable)". El caracter de conversin %p despliega una direccin en un formato
dependiente del compilador (usualmente hexadecimal).
La distribucin de la memoria para i y j del ejemplo anterior se muestra a
continuacin:
return 0;
Ejemplo:
int i=7, j=8, n;
int *ip, *jp;
1) ip=&i;
2) *ip=9;
3) ip=ip+2;
4) n=ip-jp;
5) if (ip==jp)
...
6) ip=NULL;
7) scanf("%d",ip);
Normalmente la ubicacin en memoria de las variables no es importante, por lo
que es usual ignorar la localidad de memoria y referirnos a ellas de la siguiente
forma:
/* ip es un apuntador a entero */
Errores comunes.
Errores comunes con apuntadores.
En esta seccin se quiere hacer hincapi en los errores ms comunes cometidos por los
novatos en la programacin C.
Error 1. No asignar o inicializar un apuntador antes de usarlo.
No asignar un apuntador a una direccin de memoria antes de usarlo es un error
bastante frecuente:
int *p;
*p = 6;
Este tipo de error es muy peligroso y podra NO ser detectado por el compilador, el
comportamiento del programa no est definido.
Notas: