El método de inicialización para los punteros sólo funciona cuando se ha creado por primera vez el objeto puntiagudo y el operando derecho es una dirección de memoria. A pesar de que los procesos de declaración e inicialización tienen similitudes, es aconsejable tratarlas como dos procesos diferentes (especialmente con punteros). Constante En la parte anterior de la serie, se trataba de un objeto. Este objeto tiene un identificador. No hemos hablado de lo que el valor (contenido) de la constante de un objeto (inmutable).
En esta parte de la serie, que estamos hablando de dos objetos: el objeto de puntero y el objeto puntiagudo. En esta sección, la atención se centra en el objeto puntiagudo. Así pues, aquí, tenemos dos cosas que podemos hacer constante (invariable): El valor del objeto puntiagudo o el puntero (dirección) al objeto puntiagudo. Recuerde, el puntero (dirección) al objeto puntiagudo es el valor del objeto de puntero. Haces bien el valor o la constante de puntero en la etapa de declaración o inicialización.
La sintaxis para que el valor del objeto constante puntas es: Tipo const * pointerIndentifier Un ejemplo es, const int * myPointr Esto es importante: En estas condiciones, no se puede cambiar el valor del objeto puntiagudo con el puntero. La sintaxis para hacer que el puntero al objeto constante puntas es, Tipo * const pointerIdentifier Un ejemplo es, int * const myPointr Note la posición de * y la palabra cont en los dos casos constantes.
Leer y tratar el siguiente código en el que el valor del objeto puntiagudo se hace constante: #include int main () {int hisInt = 55; const int * mypointer = & hisInt; printf ("% i", * mypointer); return 0; } El código anterior funciona. El código siguiente es lo anterior, modificado, al tratar de cambiar el valor del objeto puntiagudo con el objeto de puntero. Leer y tratar de compilar el código y observe que el compilador emitirá un mensaje de error.
#include int main () {int hisInt = 55; const int * mypointer = & hisInt; * mypointer = 70; printf ("% i", * mypointer); return