Назад к задачамПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
65
Определение выводимых значений и размера структуры при передаче её по указателю
Условие задачи
Нужно понять, какие данные будут напечатаны до вызова функции mutatePtr, что выведет сама функция и как изменятся значения после её выполнения. Кроме того, требуется узнать, сколько байтов занимает объявленная структура в памяти.
type st struct {
// 4 ??? sizeof
p1 bool
p2 int
p3 bool
}
// ptr
func main() {
myStr := st{}
fmt.Println(myStr) // 1 ???
mutatePtr(&myStr)
fmt.Println(myStr) // 3 ???
fmt.Println(unsafe.Sizeof(myStr))
}
func mutatePtr(in *st) {
in = &st{
p1: true,
p2: 666,
p3: false,
}
fmt.Println("in mutatePtr:", in) // 2
}