Como se puede observar, el valor de i ha cambiado puesto
que la función modificar ha utilizado la dirección de
memoria de esta variable en la sentencia de asignación
*variable = 9. Analicemos detenidamente este ejemplo. Lo
primero que tenemos que tener en cuenta es que la premisa de
que en C todos los argumentos se pasan por valor sigue siendo
cierta. Lo que sucede es que en este caso estamos pasando el
valor de la dirección de memoria de la variable i y no el valor de
su contenido (1). Para pasar la dirección de memoria de
una variable se utiliza el operador &. Al finalizar la función,
el valor de dicha dirección permanece igual y lo que se ha
modificado es el contenido de esa dirección de memoria. Dentro de
la función se utilizan los punteros para trabajar con las
direcciones de memoria (*variable).
Dado que el paso de argumentos por referencia es común en C,
conviene que en este punto ampliemos el concepto de puntero.
Consideremos las siguientes declaraciones:
int dato;
int *puntero;
La primera de las declaraciones reserva memoria para almacenar una
variable de tipo entero (int) mientras que la
segunda declaración reserva memoria para almacenar una
dirección. A pesar de que apunta a una variable de tipo entero, lo
que se va a almacenar es una dirección. Como en el fondo un
puntero puede apuntar a cualquier cosa, C permite la declaración de
punteros tipo void. Supongamos que el compilador reserva la
dirección en hexadecimal bffff120 para la variable dato y la
dirección en hexadecimal 0012fed4 para puntero.
En la Figura 3.1 se muestra gráficamente la representación de la
declaración de las variables Anteriores

Fig. 3.1. Declaración de variables.
Información de los programas con certificado
Hay 2 opiniones. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
Generadores de código Necesitamos construir proyectos en menor tiempo, con calidad y utilizando metodologias actuales, por eso te proponemos una serie de consejos, normas y cualidades de est... [24/01/06] |
|
2.288 | ||
|
Técnicas para el desarrollo de computación móvil (orientado a PDA) Uno de los nuevos paradigmas en el desarrollo de proyectos informáticos es la computación móvil (computación Ubicua). Aquí se verá todo lo que involucra la creación de un... [31/03/06] |
|
1.405 | ||
|
Programa con Delphi Con este curso aprenderemos a programar con delphi, un lenguaje de programación visual, con el que podrás aprender de una manera rápida e intuitiva.... [05/05/05] |
|
5.570 | ||
Publicar en
del.icio.us
digg
meneame