Задачи модуля "Объекты и ссылки": от указателей до утечек памяти
Суть урока. Практика - критерий истины. В этом уроке собраны проверочные вопросы и практическая задача на анализ работы с указателями.
Теоретические вопросы
В чем принципиальное отличие статических объектов от динамических в контексте времени их жизни?
Какие две основные задачи в первую очередь решает ссылочный тип данных (указатель)?
Что описывается на функциональном уровне абстракции структуры данных?
Задача: Анализ кода с указателями
Внимательно изучите следующий фрагмент кода на языке C.
#include <stdio.h>
#include <stdlib.h>
void process() {
int *a = (int*)malloc(sizeof(int));
int *b = (int*)malloc(sizeof(int));
*a = 10;
*b = 20;
a = b;
*a = 30;
printf("b = %d\n", *b);
free(a);
free(b);
}
Разбор: что произошло в памяти
Определите, что выведет программа и есть ли в ней фундаментальная ошибка.
Как вам урок?
Спасибо за отзыв!