Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

New, delete

Delete

New

В 32. УСЛОВИЯ ЗАХВАТА МЕТАЛЛА ВАЛКАМИ?

При прокатке алюминиевых сплавов?

В 28. Из каких материалов делают плакировочные планшеты

 

Захват металла валками при прокатке в начальный момент времени определяется условием, что угол трения при прокатке будет больше геометрического угла, то есть угла между осью симметрии рабочих валков и местом соприкосновения подката с валком. Чтобы облегчить подачу подката в валки, торцевую часть подката (заготовки) выполняют с фасками (скосами), это называется замком Петрова, то есть умышленно стачивают углы заготовки, чтобы поперечный размер заготовки был меньше и приближен к межвалковому зазору. Кроме того, в начальный момент времени подкату помогают зайти в межвалковый зазор, подталкивая его ручным инструментом.

 

Операторы new и delete аналогичны функциям malloc и free. New выделяет память, а его единственный аргумент — это выражение, определяющее количество байтов, которые будут зарезервированы. Возвращает оператор указатель на начало выделенного блока памяти. Оператор delete освобождает память, его аргумент — адрес первой ячейки блока, который необходимо освободить.

 

Чем отличается Calloc от Malloc?

malloc используется обычно для выделения памяти под одиночные элементы, а calloc - под массивы.

 

 

Билет 2

Объявление и инициализация указателей. Операции с указателями.

 

Указатель – это переменная, значением которой является адрес некоторого объекта в памяти компьютера.

Пример объявления указателя

Имя структуры*имя указателя

struct * p;

После объявления указателя его можно использовать для доступа к конкретной структурной переменной. Для этого, указатель сначала инициализируется адресом нужной структурной переменной, затем осуществляется обращение к полям этой структурной переменной 2-мя способами:

1.Способ.

(* указатель). имя поля

2. Способ. Стрелка.

указатель --> имя поля

Пример

student *p;

students st;

p=& st;

strcpy (*p).fio, "Алиев";

cout<< p-->fio;

Опереции с указателями

** Указатели используются для работы с динамическими структурными переменными.

Т. е. с различными средствами резервирования динамической памяти

** Используя указатель, можно работать с массивами структурных переменных.

** Указатель может быть элементом структуры struct students

{ char *p;

int oc[5];

};

 

Билет 3

Указатели и массивы. Указатели и структуры данных.

Язык С++ позволяет с помощью указателей адресовать структуры. Указатели на структуры объявляются, как и указатели на данные других типов:

Тип * имя указателя;

После объявления указателя, его можно использовать для доступа к конкретной структурной переменной. Для этого, указатель сначала инициализируется адресом нужной структурной переменной, затем осуществляется обращение к полям этой структурной переменной одним из 2-х способов:

· 1. Способ. Указатель *

*указатель. имя поля

 

· 2. Способ. Оператор «стрелка»

Указатель à имя поля

Пример:

students *p;

students st;

P=& st;

strcpy (*p).fio, “Алиев”;

cout<<pàfio;

Первый способ основан на обратимости операции разыменования «*» и получения адреса «&». Наличие скобок важно, т.к. они разграничивают операция разыменования. (*p). year=2013

Указатели используются для работы с динамическими структурными переменными.

Они же, в свою очередь, используются для создания средств резервирования динамической памяти.

 

 

Билет 4

Указатели на указатели. Массивы указателей. Моделирование многомерных массивов.

 

Билет 5

Средства резервирования и освобождения памяти языка С++

Colloc (), malloc (), free ().

 

По мере создания в программе новых объектов, количество доступной памяти уменьшается. Отсюда вытекает необходимость постоянно освобождать ранее выделенную память. В идеальной ситуации программа должна полностью освободить всю память, которая потребовалась для работы. По аналогии с этим, каждая процедура (функция или подпрограмма) должна обеспечить освобождение всей памяти, выделенной в ходе выполнении процедуры. Некорректное распределение памяти приводит к т.н. «утечкам» памяти, когда выделенная память не освобождается. Многократные утечки памяти могут привести к исчерпанию всей оперативной памяти и нарушить работу операционной системы

Указатели используются для работы с динамическими структурными переменными.

Такие переменные могут создаваться с использованием различных средств резервирования памяти.

 

Calloc (), malloc (), new () -- операторы резервирования (выделения) памяти

Free (), delete (), -- операторы освобождения памяти

free (англ. освобождение) — функция стандартной библиотеки языка Си, предназначенная для освобождения ранее выделенной динамической памяти

Пример

students *p1=(student*)

calloc (25, sizeof (students));

----------------------------------------

students *p2=(student*)

malloc (sizeof (student *));

----------------------------------------

students *p3=new students;

------------------------------------------

student = malloc(sizeof (student *));

 

/* … проверка успешности выделения памяти, использование блока памяти … */

 

free (student);

student = NULL;

 

Билет 6

Средства резервирования и освобождения памяти языка С++

 

 

new — оператор языка программирования C++, обеспечивающий выделение динамической памяти в куче.

students *p3=new students;

delete — возвращает память, выделенную оператором new, обратно в кучу.

Пример:

 

int *p_var = NULL; // объявление нового указателя

p_var = new int; // память динамически выделяется

/*.......остальной код........*/

delete p_var; // память освобождается

p_var = NULL; // указатель заменяется на 0 (нуль-указатель)

 

 

Билет 7

Определение функций. Вызов функций и возврат из них. Прототипы функций.

 

 

Билет 8.

Локальные и глобальные переменные. Классы памяти переменных.

 

Существуют локальные и глобальные переменные. Так вот, переменные, объявленные внутри функции, называются локальными. Локальные переменные имеют свои области видимости, этими областями являются функции, в которых объявлены переменные. Таким образом, в разных функциях можно использовать переменные с одинаковыми именами, что в свою очередь очень удобно. Разделение переменных на глобальные и локальные соответствует одному из главных правил программирования, а именно – принципу наименьших привилегий. То есть, переменные, объявленные внутри одной функции, должны быть доступны только для этой функции и ни чему другому, в конце концов, они создавались именно для этой функции. Глобальные переменные объявляются вне тела какой-либо функции, и поэтому область видимости таких переменных распространяется на всю программу. Обычно глобальные переменные объявляются перед главной функцией, но можно объявлять и после функции main(), но тогда данная переменная не будет доступна в функции main().

Пример

void example();

int variable = 48; // инициализация глобальной переменной

 

int main(int argc, char* argv[])

{

int variable = 12; // инициализация локально переменной

cout << "local variable = " << variable << endl;

**************

*************

***********

}

 

Билет 9

 

Способы передачи аргументов функциям. Передача по значению. Передача по адресу.

Структурные переменные могут передаваться в качестве параметров в функцию. Причем, могут использоваться оба способа передачи: по адресу и по значению.

При передаче по значению, в функцию передаётся копия структурной переменной.

При передаче по адресу, передаётся адрес самой переменной. Поэтому все изменения, которые выполняет функция, отражается на оригинале структурной переменной.

Структурная переменная может возвращаться функцией. При этом могут использоваться оба способа возврата: и по значению, и по адресу.

 

struct Primer

{……..}

· Вар.1 void fun (Primer P); // структурная переменная передаётся как параметр функции.

· Вар.2 void fun (Primer *f); // структурная переменная передаётся по адресу

· Вар.3 Primer fun (); // функция возвращает переменную структурного типа

· Вар.4 Primer *fun (); // возвращение по адресу

 

 

Билет 10

Функция main() с параметрами.

 

 

Билеты 11

Рекурсивные функции. Встраиваемые функции.

 

 

Билет 12

Функции обработки символов (библиотека ctype)

Эти функции проверяют определенные характеристики символьных данных. В качестве аргументов функциям передаются символьные переменные или константы, а возвращают ей (функции) значение Истина или Ложь. Поэтому эти функции удобно использовать в условном операторе.

Рассмотрим некоторые функции файла ctype.h:

Проверка алфавита.

Isalpha() – возвращает значение Истина, если аргументом функции является заглавная или строчная буква; во всех остальных случаях возвращает Ложь.

Islower() -- возвращает значение Истина, если аргументом функции является строчная буква; во всех остальных случаях возвращает Ложь.

Isupper() -- возвращает значение Истина, если аргументом функции является заглавная буква; во всех остальных случаях возвращает Ложь.

Для цифровых символов.

Isdigit() – возвращает значение Истина. Если аргумент – цифра от 0 до 9. Иначе ложь

Isxdigit() – возвращает значение Истина если аргумент от 0 до 9, от A до F или от a до f. Иначе – ложь.

Проверка спец.Символов

Iscntrl() – возвращает Истина, если аргумент – управляющий символ. Иначе ложь.

Isprint(-- возвращает значение Истина, если аргумент – печатный символ. Иначе ложь.

Ispunct -- возвращает значение Истина, если аргумент – знак пунктуации. Иначе ложь

Isspace -- возвращает значение Истина, если аргумент – пробел. Иначе лёжь

Tolower – преобразует символ к нижнему регистру.

Toupper – к верхнему регистру соответственно.

 

 

<== предыдущая лекция | следующая лекция ==>
В 26. Что явл-ся заготовкой под холодную прокатку листов? | Практическое занятие 2
Поделиться с друзьями:


Дата добавления: 2015-03-31; Просмотров: 443; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.05 сек.