Tässä osa sarjasta, puhumme kaksi objektia: osoittimen kohteen ja terävällä esineellä. Tässä osassa keskitytään terävällä esineellä. Niin, tässä, meillä on kaksi asiaa voimme tehdä vakio (muuttumaton): arvo terävällä esineellä tai osoitin (osoite) ja terävää esinettä. Muista, osoitin (osoite) ja terävää esinettä on arvo osoittimen objektin. Teet joko arvo tai osoitin vakio ilmoituksessa tai alustusvaihe.
Syntaksi tehdä arvo terävällä esineellä vakio on: const Tyyppi * pointerIndentifier esimerkki on, const int * myPointr Tämä on tärkeää: Tässä tilanteessa, et voi muuttaa arvoa terävällä esineellä käyttäen osoitin. Syntaksi tehdä osoitin terävällä esineellä vakio on, tyyppi * const pointerIdentifier esimerkki on, int * const myPointr Huomaa asema * ja sana jatkuu näissä kahdessa jatkuvasti tapausta.
Lue ja yrittää seuraava koodi joiden arvo terävällä esineellä on tehty vakio: # include int main () {int hisInt = 55; const int * myPointer = & hisInt; printf ("% i", * myPointer); palata 0; } Edellä koodi toimii. Seuraava koodi on edellä, modifioitu, yrittämällä muuttaa arvoa terävällä esineellä käyttäen osoitin objektin. Lue ja yrittää kääntää koodin, ja huomaa, että kääntäjä antaa virheilmoituksen.
#include int main () {int hisInt = 55; const int * myPointer = & hisInt; * MyPointer = 70; printf ("% i", * myPointer); palata 0; } "* MyPointer" ulkopuolella ilmoituksen tai alustuksen tarkoitetaan kohteen arvo osoitteen sivulle myPointer. myPointer on tunniste kohdetta, jolla osoitin (osoite) teräväkärkisellä esineellä. Lausunto lisäsi, "* myPointer = 70;" yrittää muuttaa vakioarvo terävällä esineellä; joten kääntäjä ei kääntää koodin ja antaa virheilmoituksen.
Lue ja yrittää seuraava koodi, jossa osoitin terävällä esineellä on tehty vakio: # include int main () {int hisInt = 55; int * const myPointer = & hisInt; printf ("% i", * myPointer); palata 0; } Edellä koodi toimii. Seuraava