Então, aqui, temos duas coisas que podemos fazer constante (imutável): o valor do objecto pontiagudo ou o ponteiro (endereço) para o objeto pontiagudo. Lembre-se, o ponteiro (endereço) para o objeto apontado é o valor do objeto ponteiro. Você quer fazer o valor ou a constante ponteiro na etapa de declaração ou de inicialização. A sintaxe para fazer o valor da constante objeto pontiagudo é: const * Tipo pointerIndentifier Um exemplo é, const int * myPointr Isto é importante: Sob essa condição, você não pode alterar o valor do objeto pontiagudo usando o ponteiro.
A sintaxe para fazer o ponteiro para a constante objeto pontiagudo é, Tipo * const pointerIdentifier Um exemplo é, int * const myPointr Observe a posição do * ea palavra cont nos dois casos constantes. Leia e tente o seguinte código onde o valor do objeto pontiagudo é feita constante: #include int main () {int hisInt = 55; const int * myPointer = & hisInt; printf ("% i", * myPointer); retornar 0; } O código acima funciona. O código a seguir é o de cima, modificado, por tentar mudar o valor do objeto pontiagudo usando o objeto ponteiro.
Leia e tentar compilar o código e observe que o compilador irá emitir uma mensagem de erro. #include int main () {int hisInt = 55; const int * myPointer = & hisInt; * myPointer = 70; printf ("% i", * myPointer); retornar 0; } "* MyPointer" fora da declaração ou de inicialização, o valor do objeto apontado por myPointer. myPointer é o identificador do objecto com o ponteiro (endereço) do objecto pontiagudo. O comunicado acrescentou: "* myPointer = 70;" tenta alterar o valor constante do objeto pontiagudo; assim o compilador não compilar o código e emite uma mensagem de erro.
Leia e tente o seguinte código onde o ponteiro para o objeto pontiagudo é feita constante: #include int main () {int hisInt = 55; int * const myPointer = & hisInt; printf ("% i", * myPointer); retornar 0; } O código acima funciona. O código a seguir é o de cima, modificado, tentando alterar o ponteiro (endereço) do objeto pontiagu