Estoy aprendiendo los lenguajes C y C++. Siguiendo tutoriales (como cualquier novato) apareció este concepto y no los puedo entender.
-
Fuera de la pregunta, mi consejo es que aprendas `C ^ C++`. – NaCl Apr 12 '19 at 00:04
2 Answers
Las variables solo existen en la función en la que se crean, podemos pasar los valores que contienen fuera de la función pero no la variable en sí. En C los valores de una variable solo se pueden pasar a una función por tanto lo que hacemos es pasar la dirección de una variable a través de un parámetro de puntero y luego con el operador de indirección podemos acceder al contenido de la variable original.
El paso por referencia es una característica de C++ y es por así decirlo el "alias" de una variable.
- 168
- 14
Los datos, ya sean numericos, textos, etc se almacenan en memoria, concretamente cada dato se almacena en una posición distinta de memoria. Ej: un valor entero con valor 99 se almacena en una posicion de memoria 0x1234 (Suelen representarse en hexadecimal). Cuando pasas ese valor por referencia a una función, esa función deberá leer el contenido desde la posición de memoria que se le ha pasado, en este caso si se le ha pasado 0x1234 como parametro, leera de esa posición de memoria el valor 99.
El paso por referencia es util en los arrays y cadenas de texto, puesto que el siguiente elemento o caracter se encuentra justo en la siguiente posición de memoria, y se pueden recorrer incrementando el puntero.
- 94
- 3