Hola y bienvenidos.
Vamos a ver a continuación el tema de copia de valores en el lenguaje C Están listos?
Vamos bien.
Vamos a estudiar a detalle más temas relacionados con las funciones.
Sin embargo, para entender a detalle los conceptos que vamos a estudiar más adelante, como son los
conceptos de paso por valor y paso por referencia, En primer lugar vamos a ver algunas lecciones con
conceptos más básicos pero fundamentales para entender estos conceptos, sobre todo el paso por referencia.
Sin embargo, vamos a comenzar por lo más sencillo.
Este es el tema de cómo se copian los valores cuando estamos trabajando con variables, así que vamos
a tener lo siguiente.
Por ejemplo, si definimos dos variables, en este caso la variable A, le asignamos el valor de diez
en memoria lo que se crea es lo siguiente se reserva espacio de memoria para almacenar el valor de esta
variable.
Así que en cierta posición de memoria se crea la variable A, ese es el identificador y en el espacio
de memoria respectiva se almacena el valor de diez.
Así que en cierta posición de memoria, por ejemplo, en este caso en la posición 0X3 es tres, que
es un número hexadecimal si almacena el valor de diez.
Ahora, si creamos otra variable y le asignamos el valor de la variable a lo que sucede, es lo siguiente
En memoria se crea otra variable, así que se reserva espacio de memoria para la variable b y por lo
tanto son variables completamente diferentes y lo que sucede es que se copia el valor de la variable
A hacia la variable b.
Así que vamos a ver cómo se copia este valor a la celda respectiva.
Ya sabemos que son dos variables diferentes en memoria, por lo tanto se copia el valor de test a la
variable B, pero podemos observar que se encuentran en diferentes posiciones de memoria.
Entonces se dice que se copia el valor de la variable A hacia la variable b.
Ese es el concepto de copia de valor.
Sin embargo, este mismo concepto no aplica igual cuando trabajamos con arreglos.
Recordemos que los tipos de datos primitivos, como puede ser el tipo de dato entero, un tipo de dato
flotante de tipo bool, char, etc Todos estos tipos son tipos básicos primitivos, los cuales todos
estos tipos son tipos básicos primitivos.
Por lo tanto, cuando hacemos una asignación de un valor a otro, se realiza una copia del valor.
Sin embargo, los arreglos no funcionan así.
Más adelante vamos a ver esta diferencia, ya que los arreglos por sí mismo almacenan la dirección de
memoria y no directamente el valor asociado al arreglo, ya que como un arreglo puede almacenar varios
valores, entonces solamente almacena la dirección de memoria del primer elemento del arreglo.
Bien por ello es que los arreglos funcionan diferente, pero en este caso estamos viendo los tipos primitivos.
Así que en este momento, si realizamos un cambio a la variable B y le asignamos ahora el valor de 20,
entonces lo que sucede en memoria es que en lugar de que tengamos ahora el valor de diez, en la variable
B se sobrescribe ese valor y ahora tenemos el valor de twenty.
Sin embargo, nunca se modifica el valor de la variable A, solo se modifica el valor de la variable
B y no afecta el valor de la variable A, ya que son dos variables distintas.
Entonces en memoria, las variables A y B son variables distintas.
Bien, vamos a detener hasta aquí.
Y en el siguiente video vamos a revisar este ejemplo.
Así que continuamos.
Saludos.