0% encontró este documento útil (0 votos)
30 vistas2 páginas

Dereferenciación y Aritmética de Apuntadores

La dereferenciación de apuntadores permite manipular los datos en la dirección de memoria que apuntan. Se pueden asignar valores de un apuntador a otro y realizar aritmética con apuntadores, como incrementar o decrementar su dirección. Esto facilita la manipulación de arreglos y la asignación de valores en programación.

Cargado por

dodoria34
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
30 vistas2 páginas

Dereferenciación y Aritmética de Apuntadores

La dereferenciación de apuntadores permite manipular los datos en la dirección de memoria que apuntan. Se pueden asignar valores de un apuntador a otro y realizar aritmética con apuntadores, como incrementar o decrementar su dirección. Esto facilita la manipulación de arreglos y la asignación de valores en programación.

Cargado por

dodoria34
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Dereferenciacion de Apuntadores y Asignación de valores

La dereferenciacion permite la manipulación de los datos contenidos en la dirección de


memoria guardada en el apuntador. El apuntador guarda una dirección de memoria. Al de
referenciar un apuntador, podemos modificar los datos o valores contenidos en esa dirección de
memoria. El operador unario , es utilizado para de referenciar a los apuntadores.

*pt1 =*pt1 + 2;

Esta instrucción suma dos al valor apuntado por pt1. Es decir, la instrucción suma dos a;
contenido de la dirección de memoria almacenada por pt1. Entonces, a partir del programa
principal, pt1 contiene la dirección de j. La variable "j" fue inicializada con 1. El efecto de la
instrucción mostrada arriba es sumar 2 a j.

El contenido de la dirección almacenada en un apuntador, puede ser asignado a otro


apuntador o a otra variable

*pt2 = *pt1;
/* assigns the contents of the memory pointed to by pt1 */
/* to the contents of the memory pointer to by pt2; */
k = *pt2;
/* assigns the contents of the address pointer to by pt2 to k. */

Aritmética de Apuntadores

Parte del poder de los apuntadores proviene de la habilidad de hacer aritmética en los
apuntadores mismos. Los apuntadores pueden ser incrementados, decrementados y manipulados
utilizando expresiones aritméticas. Consideremos el apuntador "pt3" y el arreglo de float "values"
declarados en el programa principal mostrado anteriormente:

pt3 = &values[0];
/* The address of the first element of "values" is stored in pt3*/
pt3++;
/* pt3 now contains the address of the second element of values */
*pt3 = 3.1415927;
/* The second element of values now has pie (actually pi)*/
pt3 += 25;
/* pt3 now points to the 27th element of values */
*pt3 = 2.22222;
/ The 27th element of values is now 2.22222 */

pt3 = values;
/*pt3 points to the start of values, now */

for (ii = 0; ii < 100; ii++)


{
*pt3++ = 37.0; /* This sets the entire array to 37.0 */
}

pt3 = &values[0];
/* pt3 contains the address of the first element of values */
pt4 = &results[0];
/* pt4 contains the address of the first element of results */

for (ii=0; ii < 100; ii++)


{
*pt4 = *pt3;
/* The contents of the address contained in pt3 are assigned to
the contents of the address contained in pt4 */
pt4++;
pt3++;
}

También podría gustarte