Du kannst einen Zeiger auf eine Variable zeigen lassen:
Du kannst ihn aber auch auf einen Zeiger zeigen lassen:
Die Deklaration (vorerst ohne "const") sieht dann so aus:
Nun kannst du das "const"-Attribut für folgende Zugriffe verwenden:
* Den Zeiger auf den Zeiger
* Den Zeiger auf die Variable
* Den Wert der Variable
Im von dir genannten Beispiel wird "const" für die unteren beiden Punkte verwendet. Du kannst also auf andere Zeiger verweisen, diese aber nicht verändern.
Ein Beispiel dazu:
Code: Alles auswählen
int main()
{
int variableValue;
int anotherVariableValue;
int const * const constantPointerToConstantValue = &variableValue;
int const * const anotherConstantPointerToConstantValue = &anotherVariableValue;
int const * const * variablePointerToConstantPointerToConstantValue;
// Der Zeiger auf den Zeiger ist nicht konstant, es können beliebige Werte zugewiesen werden.
variablePointerToConstantPointerToConstantValue = &constantPointerToConstantValue;
variablePointerToConstantPointerToConstantValue = &anotherConstantPointerToConstantValue;
// Der Zeiger auf die Variable ist konstant, es kann kein neuer Wert zugewiesen werden.
*variablePointerToConstantPointerToConstantValue = 1; // Compiler-Fehler
// Der Wert der Variable ist konstant, es kann kein neuer Wert zugewiesen werden.
**variablePointerToConstantPointerToConstantValue = 1; // Compiler-Fehler
return 0;
}
Hilft dir das?
