Tecnología

Inicio

Cómo entender punteros en C

Cómo entender punteros en C


El lenguaje de programación C le proporciona un tipo de datos llamado un puntero. Un puntero \ "puntos \" a otra variable en el código de software. Los punteros se les asigna el espacio de direcciones de una variable C. La ventaja de un puntero es que se puede cambiar el valor de una variable dentro de otras áreas del código que normalmente no pueden utilizar definidos, variables privadas. Para entender punteros, hay que practicar la definición y asignación a las variables C. Utilizando una muestra de puntero, se puede seguir el código y ver cómo cambia valor de la variable mediante la manipulación de los datos en el puntero.

Instrucciones

1 Definir algunas variables C. En este ejemplo, dos variables se utilizan para seguir los valores del puntero. El código siguiente es cómo se definen variables en C:

int = 0 nuevoValor
IR
int = 0 oldValue
IR

Aviso es este ejemplo que el valor de las dos variables es cero. Esto es importante tener en cuenta más adelante en el código.

2 Crear el puntero. Una variable puntero se define con el prefijo asterisco. El siguiente código define un puntero en C:

int * ptr;

3 Asignar el puntero a una variable. Un puntero se asigna la dirección de una variable. Se asigna el espacio de direcciones de un puntero con el \ "y \" prefijo. El siguiente código asigna un puntero al espacio de direcciones de la \ "oldValue \" variables:

ptr = & oldValue
IR

Tenga en cuenta que ahora el puntero tiene el mismo valor que oldValue, que es cero.

4 Cambiar el valor del puntero, que también cambia el valor de oldValue. El código siguiente cambia el valor del puntero:

* Ptr = 2
IR

A pesar de que el valor de oldValue no se cambia de forma explícita, el puntero se asigna el espacio de direcciones para oldValue. Debido a esta asignación, cambiando el valor de la PTR también cambia oldValue.

5 Asignar el valor del puntero a la variable nuevoValor. Los valores de puntero también pueden ser asignados a otras variables en su programa. Esto le ayuda a pasar el valor de una variable a lo largo de su código. El siguiente ejemplo es cómo se asigna el valor de un puntero a otra variable:

nuevoValor = * ptr
IR

Tenga en cuenta que ahora nuevoValor y oldValue tienen el mismo valor asignado, que es 2.