Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка6.docx
Скачиваний:
5
Добавлен:
17.11.2018
Размер:
32.96 Кб
Скачать

29. Какое значение вернет оператор sizeof(), если применить его к указателю ссылающемуся на массив?

Размер указателя

30. Как объект cout воспринимает адрес элемента char?

Объект cout предполагает, что адрес элемента char — это адрес строки,

31. Что произойдет, если вы присвоите оператору cout адрес

символа?

можно также использовать переменную-указатель

на char в качестве аргумента оператора cout, так как он тоже является

адресом элемента char

Будет выводить данные массива, пока не наткнется на “\o”

32. Как интерпретирует оператор cout имя массива элементов char, указатель на char и строковую константу в кавычках? В операторе cout, как и в большинстве выражений в C++,

имя массива элементов char, указатель на char и строковая

константа в кавычках — все интерпретируются как адрес

первого символа строки.

33. Как скопировать строку в новое зарезервированное место?

Функция strcpy() содержит два аргумента. Первый из них — это

адрес назначения, второй — адрес строки, которую требуется

скопировать.

34. Функция strcpy() и функция strncpy().

Когда нужно присвоить значение массиву, используйте

оператор присвоения либо функцию strcpy() или strncpy().

Если строка короче n символов, функция strncpy() добавляет нулевой символ раньше, для того чтобы отметить настоящий конец строки.

Для назначения строки массиву используйте функцию

strcpy() или strncpy(), а не оператор присваивания.

35. Использование оператора new для создания динамических

структур.

оператор new. С его помощью можно создавать динамические

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

выделяется во время выполнения программы, а не во время

компиляции. Использование оператора new при работе со

структурами является "двухэтажным": создание структуры и доступ к ее

элементам. Чтобы создать структуру, используйте тип структуры с

оператором new.

36. Как получить доступ к полям структуры?

37. Когда следует использовать точечный оператор, а когда

стрелочный для определения элемента структуры?

Иногда начинающие пользователи путают, когда следует

использовать точечный оператор, а когда стрелочный для

определения элемента структуры. Правило простое. Если

идентификатор структуры представлен в виде имени

структуры, используйте точечный оператор. А если идентификатор – это указатель на структуру , используйте

стрелочный оператор.

38. Как можно обратиться к элементам динамической структуры не

использую стрелочный оператор принадлежности?

cin >> (*ps).volume; // метод 2 для доступа к элементу структуры

39. Автоматическая, статическая и свободная память

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

Обычные переменные, определенные внутри функции,

называются автоматическими. Они начинают свое существование

автоматически, когда вызвана функция, которая их содержит, а

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

К статической памяти относятся переменные, которые

существуют во время выполнения программы в целом. Существует два

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

определить ее как внешнюю, вне функции. Второй — использовать

ключевое слово static при объявлении переменной:

static double fee = 56.50;

Время существования данных не привязано жестко ко времени работы

программы или функции. Используя эти операторы вместе, можно

лучше контролировать то, как программа использует память, чем с

помощью обычных переменных.