Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчет 4 - Указатели и ссылки - СФ

.pdf
Скачиваний:
1
Добавлен:
19.03.2023
Размер:
420.46 Кб
Скачать

Приложение А

(обязательное)

Код на C++

#include <iostream> using namespace std; void hello();

void Ref(int& refa)

{

refa++;

}

void Ptr(int* ptra)

{

*ptra += 1;

}

int main()

{

setlocale(LC_ALL, "ru");

int a = 777; int* ptra = &a; int& aRef = a;

cout << "ptra\t" << ptra << endl; cout << "a\t" << a << endl;

cout << "*ptra\t" << *ptra << endl;

cout << "*aRef\t" << aRef << endl << endl;

Ref(aRef);

cout << "Увеличение а - ссылка\t\t" << a<<endl;

Ptr(&a);

cout << "Увеличение а - указатель\t" << a<<endl<<endl;

int arr[5]{ 4,10,25,89,100 };

int* ptrarr = arr;

cout << "ptrarr\t" << ptrarr << endl; cout << "arr\t" << arr << endl;

cout << "arr[0]\t" << &arr[0] << endl; cout << "*ptrarr\t" << *ptrarr << endl; cout << "arr[0]\t" << arr[0] << endl;

int

var1

=

5;

int

var2

=

31;

int* const

ptrvar1 = &var1;

const

int*

ptrvar2 = &var2;

const

int*

const ptrvar3 = &var1;

//ptrvar1 = &var2; *ptrvar1 = 1; ptrvar2 = &var1; //*ptrvar2 = 1; //ptrvar3 = &var2; //*ptrvar3 = 1;

int integer = 455;

11

char charici = 'A'; void* void_ptr;

int* int_ptr = &integer; char* char_ptr = &charici;

void_ptr = int_ptr;

cout << "\ninteger\t\t" << integer << endl; cout << "int_ptr\t\t" << int_ptr << endl; cout << "void_ptr\t" << void_ptr << endl;

void_ptr = char_ptr;

cout << "\ncharici\t\t" << charici << endl; cout << "char_ptr\t" << char_ptr << endl; cout << "void_ptr\t" << void_ptr << endl;

//int_ptr = void_ptr; //char_ptr = void_ptr;

int arraySec[3][3]={ {4,7,9}, {13,89,100}, {999,1337, 89} };

int* ptr1 = arraySec[0];

cout << endl << "ptr1: " << *ptr1 << endl << endl;

int n = sizeof(arraySec) / sizeof(arraySec[0]); // число строк

int m = sizeof(arraySec[0]) / sizeof(arraySec[0][0]); // число столбцов int count = m * n;

int* ptrarraySec = arraySec[0];

for (int i = 1; i <= count; ptrarraySec++, i++)

{

cout << *ptrarraySec << "\t"; if (i % m == 0)

cout << endl;

}

cout << endl;

void (*message)();

message = hello; message();

cout <<"message: " << message << endl;

}

void hello()

{

cout << "Hello, World" << endl;

}

12

Приложение Б

(обязательное)

Код на Python

def say_hello(): print("Hello")

message = say_hello message()

list1 = [1, 2, 3] list1 = [4, 5, 6]

b = list1 list1[0] = 777 print(b)

del (b)

13