Отчеты / ЯП4
.pdfМинистерство образования и науки Российской Федерации Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
«ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ» (ТУСУР)
Кафедра комплексной информационной безопасности электронно-
вычислительных систем (КИБЭВС)
УКАЗАТЕЛИ И ССЫЛКИ. Отчет по лабораторной работе №4
по дисциплине «Языки программирования»
Выполнил:
Студент гр. 710-2
_______ _____Кузьмина А.А.
__.04.2022
Принял:
Младший научный сотрудник
Кафедры КИБЭВС
_______ ________Полюга В.А.
___.04.2022
Томск - 2022
2
1 Введение
Цель работы: изучение механизмов работы указателей и ссылок.
Для работы использовался язык программирования С# и С++. Среда разработки Microsoft Visual Studio 2019.
В лабораторной работе рассмотрим разницу между типизированными и нетипизированными указателями, указателями на данные и на функции,
указателем и указуемым объектом, указателями-константами и указателями на константу, указателями и ссылками и особенности работы с многоуровневыми указателями.
3
2 Ход работы
2.1 Программа на языке С#
Рассмотрим разницу между типизированным и нетипизированным указателем.
На рисунке 1 представлен фрагмент кода на языке С#. Результат работы представлен на рисунке 2.
Рисунок 1 – Типизированный и нетипизированный указатель.
Рисунок 2 – Результат работы первого фрагмента кода.
Далее идет разница между указателями на данные и на функции.
На рисунке 3 представлен фрагмент кода. Результат работы показан на рисунке 4.
Рисунок 3 – Указатель на функции.
4
Рисунок 4 – Результат работы второго фрагмента кода.
После этого рассмотрим разницу между указателем и указуемым объектом.
На рисунке 5 представлен фрагмент кода.
Рисунок 5 – Указатель и указуемый объект.
В C# нет указателей на константы и указателей-констант, поэтому рассмотрим особенность работы с многоуровневыми указателями.
Фрагмент кода представлен на рисунке 6.
Рисунок 6 – Работа с многоуровневыми указателями.
Рисунок 7 – Результат работы четвертого фрагмента кода.
5
И последнее на языке С# рассмотрим разницу между указателями и ссылками.
На рисунке 8 показан фрагмент кода.
Рисунок 8 – Ссылка и указатель.
2.2 Программа на языке С++
На рисунке 9 представлен первый фрагмент кода с типизированным указателем и нетипизированным.
Результат представлен на рисунке 10.
Рисунок 9 – Типизированный и нетипизированный указатель.
Рисунок 10 – Результат работы первого фрагмента кода.
6
На рисунках 11 и 12 показан второй фрагмент кода с указателем на функцию.
Результат работы показан на рисунке 13.
Рисунок 11 – Обращение к функции через указатель.
Рисунок 12 – Функция для указателя.
Рисунок 13 – Результат работы.
На рисунке 14 показана разница между указателем и указуемым объектом.
Рисунок 14 – Указатель и указуемый объект.
7
Код на указатель-константу и указатель на константу показан на рисунке
15.
Рисунок 15 – Указатель-константа и указатель на константу.
Особенности работы с многоуровневыми указателями представлены на рисунке 16.
Ниже на рисунке 17 показан результат работы кода.
Рисунок 16 – Многоуровневые указатели.
Рисунок 17 – Результат работы кода.
Разница между указателями и ссылками представлена на рисунке 18.
Рисунок 18 – Указатель и ссылка.
8
3Заключение
Входе выполнения практической работы были изучены механизмы работы указателей и ссылок.
Всреде разработки Microsoft Visual Studio 2019 на языке программирования С# и С++ был написан код, показывающий разницу между типизированными и нетипизированными указателями, указателями на данные
ина функции, указателем и указуемым объектом, указателями-константами и указателями на константу, указателями и ссылками и особенности работы с многоуровневыми указателями.
Отчет был написан согласно ОС ТУСУР-01.2013