Ich habe eine Frage zum Verhalten von C/C++ bei der blinden Inkrementierung eines Zeigers.
Ich habe also einen Zeiger auf einen int als Parameter für eine Funktion
func(int* thePointer) {...
und ich habe eine Schleife innerhalb dieser Funktion
while(*thePointer) {
++thePointer;
}
Ich verstehe, dass, solange es int
Die Schleife wird fortgesetzt, aber was ist, wenn der Speicher zu einem Teil eines anderen Speichertyps gehört? Angenommen, Sie inkrementieren in die ersten 4 Bytes eines double
. Hat der int-Wert in diesem Fall noch einen Wert bzw. wird die Schleife fortgesetzt?
Haftungsausschluss: Ich weiß, dass dies höchstwahrscheinlich eine schlechte Praxis ist. Dies ist eine rein akademische Frage.