Hola muy buenas!
Mi pregunta es sencilla, pero es qno sé a qué se refiere:
cuando tenemos por ejemplo
*(p+2) = 7
Qué significa exactamente?? sé q es el destino de p +2 que le da el valor de 7, pero no entiendo muy bien ese +2
Muchas gracias!
| |||
Punteros Hola muy buenas! Mi pregunta es sencilla, pero es qno sé a qué se refiere: cuando tenemos por ejemplo *(p+2) = 7 Qué significa exactamente?? sé q es el destino de p +2 que le da el valor de 7, pero no entiendo muy bien ese +2 Muchas gracias! |
| |||
Respuesta: Punteros p en este caso deberia ser un puntero. un puntero es un numero de 32 o 64 bits que representa un sector de memoria RAM. Entonces si en p esta el numero 1000 vamos a apuntar al sector 1000. Ahora que podemos hacer con un puntero. Podemos modificar o leer el valor al que apunta. De que forma? USando el operador asterisco *. Si hacemos *p = 7 asignamos 7 al sector 1000. Si hacemos a = *p; estamos asignando en a el valor del sector 1000. Ahora bien, con punteros podemos hacer algebra. Es decir podemos sumar valores para obtener nuevos punteros. Es decir, entocnes, si a p le sumamos 2 ahora vamos a apuntar al valor 1002. y como usamos el operador * vamos a modificar el sector 1002. |
| |||
Respuesta: Punteros otra forma de explicar, sin ahondar en temas de punteros. Los puntero pueden ser tratados como arreglos y viceversa. Por ejemplo en tu caso sería. *(p+2) = 7 es lo mismo que p[7] = 7, asi *p es igual *(p+0)=7 y p[0] = 7 |
Etiquetas: |