Q:

Golang Pointers | Find Output Programs | Set 1

0

This section contains the Golang pointers find output programs (set 1) with their output and explanations.

Program 1:

package main

import "fmt"

func changeValue(v *int) {
	*v = 20
}

func main() {
	val := 10
	fmt.Println("Value is: ", val)
	changeValue(&val)
	fmt.Println("Value is: ", val)
}

Program 2:

package main

import "fmt"

func changeValue(v *int)

func main() {
	val := 10
	fmt.Println("Value is: ", val)
	changeValue(&val)
	fmt.Println("Value is: ", val)
}

func changeValue(v *int) {
	*v = 20
}

Program 3:

package main

import "fmt"

func main() {
	val := 10

	var ptr *int

	ptr = &val

	*ptr = 50
	fmt.Println("Value is: ", val)
	fmt.Println("Value is: ", *ptr)
}

Program 4:

package main

import "fmt"

func main() {
	var val int = 10
	var ptr1 *int
	var ptr2 **int

	ptr1 = &val
	ptr2 = &ptr1

	**ptr2 = 50
	fmt.Println("Value is: ", val)
	fmt.Println("Value is: ", *ptr1)
	fmt.Println("Value is: ", **ptr2)
}

Program 5:

package main

import "fmt"

func main() {
	var val string = "hello"
	var ptr *string

	ptr = &val
	fmt.Printf("%s\n", *ptr)
	fmt.Printf("%c\n", val[1])
}

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Answer Program 1:

Output:

Value is:  10
Value is:  20

Explanation:

In the above program, we created two functions changeValue() and main(). The changeValue() function assigns a new value to the specified pointer. In the main() function, created a variable val initialized with 10. Then passed the address of the val variable. Then we printed the updated value of the val variable.


 

Answer Program 2:

Output:

./prog.go:5:6: missing function body
./prog.go:14:6: changeValue redeclared in this block
	prog.go:5:21: previous declaration

Explanation:

The above program will generate a syntax error because function prototype func changeValue(v *int); is not required in the Go language.


 

Answer Program 3:

Output:

Value is:  50
Value is:  50

Explanation:

In the above program, we created a variable val and pointer ptr. Then we assigned the address of val into pointer ptr. After that, we assigned the new value to the *ptr. It will change the value of val. Then we printed the value of val and *ptr.


 

Answer Program 4:

Output:

Value is:  50
Value is:  50
Value is:  50

Explanation:

In the above program, we created a variable val, ptr1 and ptr2. Then we assigned the address of val into pointer ptr1, and assigned the address into ptr2. After that, we assigned the new value to the **ptr2. It will change the value of val. Then we printed the value of val, *ptr1, and **ptr2.


 

Answer Program 5:

Output:

hello
e

Explanation:

 

In the above program, we created a variable val, ptr. Then we assigned the address of val into pointer ptr. After that, we printed the *ptr and the 2nd character of the string val.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now