# Go - Array of pointers

#### Complete MATLAB Tutorial: Go from Beginner to Expert

Best Seller

127 Lectures 12 hours

#### The Complete Wireshark Course: Go from Beginner to Advanced!

32 Lectures 4.5 hours

#### Cyber Security : Go from Zero to Hero

Most Popular

60 Lectures 5.5 hours

Before we understand the concept of arrays of pointers, let us consider the following example, which makes use of an array of 3 integers −

```package main

import "fmt"

const MAX int = 3

func main() {
a := []int{10,100,200}
var i int

for i = 0; i < MAX; i++ {
fmt.Printf("Value of a[%d] = %d\n", i, a[i] )
}
}
```

When the above code is compiled and executed, it produces the following result −

```Value of a[0] = 10
Value of a[1] = 100
Value of a2] = 200
```

There may be a situation when we want to maintain an array, which can store pointers to an int or string or any other data type available. The following statement declares an array of pointers to an integer −

```var ptr [MAX]*int;
```

This declares ptr as an array of MAX integer pointers. Thus, each element in ptr, now holds a pointer to an int value. The following example makes use of three integers, which will be stored in an array of pointers as follows −

```package main

import "fmt"

const MAX int = 3

func main() {
a := []int{10,100,200}
var i int
var ptr [MAX]*int;

for  i = 0; i < MAX; i++ {
ptr[i] = &a[i] /* assign the address of integer. */
}
for  i = 0; i < MAX; i++ {
fmt.Printf("Value of a[%d] = %d\n", i,*ptr[i] )
}
}
```

When the above code is compiled and executed, it produces the following result −

```Value of a[0] = 10
Value of a[1] = 100
Value of a[2] = 200
```
go_pointers.htm