2.34. Go language pointer to pointer

发布时间 : 2025-10-25 13:32:55 UTC      

Page Views: 9 views

If a pointer variable holds the address of another pointer variable, the pointer variable is called a pointer variable that points to the pointer.

When defining a pointer variable that points to a pointer, the first pointerstores the address of the second pointer, and the second pointer stores theaddress of the variable:

Image0

The pointer variable declaration to the pointer is in the following format:

var ptr **int; 

The pointer variable to the pointer above is an integer.

Accessing the value of a pointer variable pointing to a pointer requires theuse of two * number, as follows:

package main import "fmt" func main() { var a int var ptr *int var pptr **int a = 3000 /* Pointer ptr address */ ptr = &a /* Pointing to pointer ptr address */ pptr = &ptr /* Obtain the value of pptr */ fmt.Printf("Variable a= %d\n", a ) fmt.Printf("Pointer variable * ptr = %d\n", *ptr ) fmt.Printf("Pointer variable pointing to a pointer **pptr = %d\n", **pptr) } 

The output of the above example is as follows:

Variable a= 3000 pointer variable *ptr = 3000 Pointer variable pointing to a pointer **pptr = 3000 
《地理信息系统原理、技术与方法》  97

最近几年来,地理信息系统无论是在理论上还是应用上都处在一个飞速发展的阶段。 GIS被应用于多个领域的建模和决策支持,如城市管理、区划、环境整治等等,地理信息成为信息时代重要的组成部分之一; “数字地球”概念的提出,更进一步推动了作为其技术支撑的GIS的发展。 与此同时,一些学者致力于相关的理论研究,如空间感知、空间数据误差、空间关系的形式化等等。 这恰好说明了地理信息系统作为应用技术和学科的两个方面,并且这两个方面构成了相互促进的发展过程。