Punteros en c

Punteros en c
Los punteros son el tema más importante en el lenguaje de programación C. En la asignación de memoria, cada bloque donde se almacena los datos es capaz de almacenar 1 byte de información. El puntero es la variable que nos permite almacenar la dirección de las variables a las que queremos señalar. El valor de los punteros en sí se puede cambiar para apuntar a diferentes lugares de la memoria, lo cual es poderoso cuando estamos señalando una matriz porque sabemos que los elementos de la matriz interna están uno al lado del otro. Entonces, podemos mover el puntero de un elemento al siguiente elemento simplemente moviendo en la memoria.

Cada vez que se declara una variable, la ubicación de memoria se asigna automáticamente a ellos de forma predeterminada, que se utiliza para contener el valor que se le asigna. La ubicación asignada a la variable tiene una dirección predefinida a la que solo se puede acceder utilizando los punteros.

Sintaxis
$ type *name de variable;

La sintaxis para la declaración del puntero es un poco diferente de declarar una variable porque, si bien usamos punteros, tenemos ambas habilidades para acceder a la dirección y al valor de la variable. En la declaración de punteros, se usa la palabra clave "*" que indica que estamos señalando la variable "xyz". En la sintaxis dada, el tipo es el tipo de datos de la variable de puntero que vamos a definir y el "nombre de la variable" es la variable que debe ser puntiaguda.

Supongamos que creamos una variable "var" cuyo valor se encuentra en la dirección "3E97B57C".

Int var = 2;
Int *ptr;
PTR =&var;

Ahora, definiendo una variable de puntero "PTR", el puntero se define usando el operador "*" de Asterisk. La palabra técnica utilizada para este operador es la deserción. Para señalar la dirección de la variable a la que tenemos que acceder, utilizaremos la palabra clave ampersand "&".

Como se muestra en la siguiente figura, el puntero PTR contiene la dirección de la variable "var".

Ejemplo 1:
En este ejemplo, implementamos nuestro puntero a través del cual mostraremos la dirección de la variable y el valor variable. Para implementar los punteros, primero incluiremos nuestro archivo de encabezado "stdio.h "y sepa que el" stdio.H ”es un archivo de encabezado que nos permite realizar las operaciones de entrada-salida en C. Ahora, moviéndose a nuestra función principal (), usamos nuestros punteros.

#incluir
Int main ()

int var = 10;
int *ptr;
PTR =&var;
printf ("La dirección de variable var es: %x \ n", ptr);
printf ("El valor de la variable var es: %x \ n", *ptr);
Return (0):

En la función main (), primero declararemos una variable llamada "var" y le asignaremos un valor de "10". Ahora, "var" posee un valor de "10". Luego, declararemos un puntero de tipo entero, nombrándolo "PTR". Para asignar la dirección de la variable "var" al puntero, usaremos el ampersand "&". El ampersand "&" se llama operador de referencia que se utiliza para crear el puntero o dirección de la información que se almacena en una ubicación de memoria.

Ahora, el puntero es responsable de mantener la dirección de la variable "var". En la declaración Printf, %d denota valores decimales y %x representa que queremos que los números salgan en hexadecimal, lo cual es un poco más fácil de leer. Imprimimos la dirección de la variable que es "3E97B57C". En la segunda declaración de impresión, imprimimos el valor de la variable "var" utilizando el puntero "PTR". Ahora, como podemos ver en la primera declaración, simplemente llamamos al "PTR" sin el asterisco "*" que nos permite imprimir la dirección de la variable.

Como discutimos en la introducción, los punteros contienen la dirección de la información que se almacena en la memoria. Por otro lado, cuando mostramos el valor de la variable que se almacena en nuestra memoria, llamamos al puntero usando el asterisco "*".

Como se muestra en la siguiente captura de pantalla, podemos ver la salida de ambas declaraciones de impresión. El primero imprime la dirección, mientras que la segunda imprime el valor de una variable.

Ejemplo 2:
En el siguiente código, cambiaremos el valor de una variable usando punteros. Como sabemos, los punteros son la parte más importante del idioma C. Al usarlos, podemos reducir el tiempo y la complejidad del código y nos permite manejar los datos ilimitados.

#incluir
int main ()

int myvar = 23;
int *myPtr;
myptr = &myvar;
printf ("dirección de myvar = %p \ n", myptr);
printf ("valor de myvar = %d \ n", *myptr);
*myPtr = 10;
printf ("Valor actualizado de myVar usando puntero es %d", *myptr);

Después de incluir los archivos de encabezado, pasaremos a nuestra función principal donde inicializamos la variable llamada "myvar" que es responsable de mantener el valor "23". Y ahora, inicializando un puntero de tipo entero que es "myPTR" apunta a la dirección de la variable que declaramos en la línea superior. Ahora, en nuestro siguiente paso, asignamos la dirección de la variable "myvar" que se almacena en la memoria que tiene el valor "23". Para hacerlo, usamos la palabra clave ampersand "&", como discutimos en el ejemplo anterior de que Ampersand se usa para crear el puntero o dirección a la variable que se almacena en una memoria.

Después de asignar la dirección al puntero, llamamos a la instrucción printf () para imprimir el valor myvar, así como su dirección. Ahora, para actualizar el valor en la dirección especificada de la variable, utilizamos un puntero para actualizar su valor. Para hacerlo, llamamos a la dirección del puntero usando el nombre de puntero "*" de Asterisk que es "MyPTR". Luego, asigne el valor que es "10" en nuestro caso. Luego, imprimimos el valor pasando el puntero actualizado a la instrucción printf ().

Como se muestra en el siguiente fragmento, se accede a la dirección de la variable utilizando un puntero y el valor se almacena en esa dirección. Por fin, mostramos el valor actualizado de esa variable.

Conclusión

En esta guía, discutimos brevemente sobre los punteros en el lenguaje C y los métodos para implementarlos. Hicimos todo lo posible para explicar la implementación de punteros y cómo usarlos de manera eficiente en el lenguaje C definiéndolos usando ejemplos. El puntero es útil para reducir el tamaño del código y también se utiliza para mejorar el rendimiento de los grandes programas. También puede usar consejos para realizar las diversas tareas como operaciones aritméticas, actualización de datos, etc.