cpp / intermediate
Snippet
Direkter Speicherzugriff über Array-Pointer
In C++ verfallen Arrays in Pointer auf ihr erstes Element. Pointer-Arithmetik ermöglicht es Ihnen, durch das Array zu navigieren, indem Sie Offsets zur Basisadresse hinzufügen, was ein grundlegendes Konzept der hardwarenahen Speicherverwaltung ist.
snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>void modifyArray() {int values[3] = {10, 20, 30};int* ptr = values; // Array decays to pointer*(ptr + 1) = 50; // Equivalent to values[1]for (int i = 0; i < 3; i++) {std::cout << values[i] << " ";}}
Erklärung
1
int* ptr = values;
Der Array-Name fungiert als konstanter Pointer auf das erste Element (Index 0).
2
*(ptr + 1) = 50;
Dereferenziert die Adresse bei (Basis + Größe von int), um das zweite Element zu ändern.