Compartir tecnología

c Aprenda el camino hacia la entrevista

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

¿Cuál es la diferencia entre una referencia y un puntero?
  • Los punteros y las referencias son conceptos de dirección. Un puntero apunta a una parte de la memoria y su contenido es la dirección de la memoria apuntada.

  • El programa asigna un área de memoria para variables de puntero pero no para referencias.

  • Cuando use punteros, agregue * delante de ellos y las referencias se pueden usar directamente.

  • Las referencias se inicializan cuando se definen y no se pueden cambiar más adelante; los punteros pueden cambiar. Es decir, el objeto al que se hace referencia no se puede cambiar, pero se puede cambiar el objeto puntero.

  • No hay referencias nulas, pero sí punteros nulos. Esto hace que el código que utiliza referencias sea más eficiente que el uso de punteros. Porque no es necesario comprobar la validez de una referencia antes de utilizarla. Por el contrario, los punteros siempre deben probarse para evitar que sean nulos.

  • Utilice "sizeof" en una referencia para obtener el tamaño de la variable y utilice "sizeof" en un puntero para obtener el tamaño de la dirección de la variable.

  • En teoría, no hay límite para el número de niveles de puntero, pero solo hay un nivel de referencia. Es decir, no hay referencia a una referencia, pero puede haber un puntero a un puntero. int **p // Legal, int