capypad
0 Tage Serie
go / beginner
Snippet

Pointers: Direkter Speicherzugriff

Zeiger speichern Speicheradressen anstelle von Werten. Der &-Operator ermittelt die Adresse einer Variable, während * einen Zeiger dereferenziert, um auf den zugrunde liegenden Wert zuzugreifen. Zeiger sind besonders nützlich zum Ändern von Variablen in Funktionen und zum effizienten Verwalten großer Datenstrukturen.

snippet.go
go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
package main
import "fmt"
 
func main() {
count := 10
ptr := &count
 
fmt.Println("Value:", count)
fmt.Println("Address:", ptr)
fmt.Println("Dereferenced:", *ptr)
 
*ptr = 20
fmt.Println("New value:", count)
}
Erklärung
1
ptr := &count
& ermittelt Speicheradresse der count-Variable
2
*ptr
* dereferenziert Zeiger um auf gespeicherten Wert zuzugreifen
3
*ptr = 20
Ändern des dereferenzierten Wertes ändert Originalvariable