Это небольшой файл указатель ссылка на какой либо объект
Ссылка reference — механизм языка программирования (C++), позволяющий привязать имя к значению. В частности, ссылка позволяет дать дополнительное имя переменной и передавать в функции сами переменные, а не значения переменных.
Синтаксически ссылка оформляется добавлением знака & (амперсанд) после имени типа. Ссылка на ссылку невозможна.
Ссылка требует инициализации. В момент инициализации происходит привязка ссылки к тому, что указано справа от = . После инициализации ссылку нельзя “отвязать” или “перепривязать”.
Любые действия со ссылкой трактуются компилятором как действия, которые будут выполняться над объектом, к которому эта ссылка привязана. Следующий пример демонстрирует ссылку в качестве дополнительного имени переменной.
Казалось бы, зачем нам второе имя переменной? Ответа может быть, по крайней мере, два.
- Что-то имеет слишком длинное, неудобное название. Привязав к нему ссылку, мы получим более удобное, короткое локальное название. При этом мы можем не указывать тип этого “чего-то”, можно использовать вместо типа ключевое слово auto :
- Выбор объекта привязки ссылки может происходить во время исполнения программы и зависеть от некоего условия. Пример:
Впрочем, основным применением ссылок является передача параметров в функции “по ссылке” и возвращение функциями ссылок на некие внешние объекты.
Передача по ссылке by reference напоминает передачу “по имени”. Таким образом, можно сказать, что, используя ссылки, мы передаём не значения, а сами переменные, содержащие эти значения. В реальности “за ширмой” происходит передача адресов этих переменных. Передача ссылки на переменную, время жизни которой заканчивается, например, возврат из функции ссылки на локальную переменную, приводит к неопределённому поведению.
Ранний пример использования ссылок для возврата из функции более одного значения представлен в самостоятельной работе 3.
Приведём здесь ещё один пример: функцию, которая возвращает одну из двух переменных, содержащую максимальное значение. Для этого модифицируем предыдущий пример:
Так как при передаче ссылки реально копируется лишь адрес значения, а не само значение, то передав ссылку можно избежать копирования значения. Поэтому ссылки широко используются для передачи в функцию аргументов, которые или запрещено копировать или вычислительно дорого копировать. Типичный пример — объекты string. При копировании строки происходит выделение динамической памяти, копирование всех символов, затем — при удалении этой копии — освобождение памяти. Часто нет никакой необходимости в копировании. Например, следующей функции, считающей количество повторений заданного символа в строке нет нужды копировать строку — можно обойтись ссылкой:
Обратите внимание на ключевое слово const . Данное ключевое слово позволяет нам указать, что мы хотим ссылку на константу, т.е. функция char_freq использует s как константу и не пытается её изменять, а ссылка нужна для того, чтобы избежать копирования. Рекомендуется использовать const везде, где достаточно константы. Компилятор проверит, действительно ли мы соблюдаем константность.
Ставить слово const можно перед именем типа и после имени типа, это эквивалентные записи.
Общие сведения
Что такое указатель pointer уже рассказывалось во введении.
В C и C++ указатель определяется с помощью символа * после типа данных, на которые этот указатель будет указывать.
Указатель — старший родственник ссылки. Указатели активно использовались ещё в машинных языках и оттуда были перенесены в C. Ссылки же доступны только в C++.
Указатели — простые переменные. Указатели не “делают вид”, что они — те значения в памяти, к которым они привязаны. Чтобы получить указатель на переменную, нужно явно взять её адрес с помощью оператора & . Чтобы обратиться к переменной, на которую указывает указатель, требуется явно разыменовать его с помощью оператора * .
Так же, как и в случае ссылок, можно использовать ключевое слово const , чтобы создать указатель на константу.
Указатели можно сравнивать друг с другом. Указатели равны, если указывают на один и тот же объект, и не равны в противном случае.
Указатели можно передавать в функции и возвращать из функций как и любые “элементарные” значения. Ещё пример с указателями:
Для обращения к полю структуры по указателю на объект структуры предусмотрен специальный оператор -> (“стрелка”).
В отличие от ссылок, указатели не обязательно инициализировать. Указатели можно инициализировать специальным значением нулевой указатель nullptr , которое сигнализирует об отсутствии привязки указателя к чему-либо. Присваивание указателю другого адреса меняет его привязку. Это позволяет использовать указатели там, где семантика ссылок слишком сильно ограничивает наши возможности.
Соответственно, ограничения, накладываемые на ссылки по сравнению с указателями, позволяют, с одной стороны, защитить программиста от ряда ошибок, и, с другой стороны, открывают ряд возможностей оптимизации кода для компилятора. Ссылки используются там, где нет нужды в “полноценных” указателях или есть желание не перегружать код взятиями адреса и разыменованиями.
Наличие нулевого указателя позволяет, например, возвращать указатель на искомый объект и в том случае, когда ничего не было найдено. Просто в этой ситуации возвращаем нулевой указатель, а принимающая сторона должна быть готова к такому развитию событий. Указатель автоматически преобразуется к булевскому значению: нулевой указатель даёт false , прочие указатели дают true , поэтому, если p — указатель, то
есть то же самое, что
есть то же самое, что
Например, поиск самого левого нуля в массиве чисел с плавающей точкой может быть записан так:
Данный пример использует арифметику указателей и массивы. Данная тема освещена в разделе массивы и ссылки.
Бестиповый указатель
Вместо типа данных при объявлении указателя можно поставить ключевое слово void . Данное ключевое слово означает, что мы описываем указатель “на что угодно”, т. е. просто адрес в памяти. Любой указатель автоматически приводится к типу void* — бестиповому указателю typeless pointer . Прочие указатели, соответственно, называются типизированными или типизованными typed . Приведение от void* к типизованному указателю возможно с помощью оператора явного приведения типа.
В C бестиповые указатели широко применяются для оперирования кусками памяти или реализации обобщённых функций, которые могут работать со значениями разных типов. В последнем случае конкретный тип маскируется с помощью void (“пустышка”). При использовании таких функций обычно приходится где-то явно приводить тип указателей. C++ позволяет отказаться от подобной практики благодаря поддержке полиморфизма и обобщённого программирования (материал 2-го семестра).
О цикле for (int byte: buffer) см. здесь.
Указатель на указатель
Так как указатель — обычная переменная, возможен указатель на указатель. И указатель на указатель на указатель. И указатель (на указатель) n раз для натурального n. Максимальный уровень вложенности задаётся компилятором, но на практике уровни больше 2 практически не используются.
“Система ранжирования C-программистов.
Чем выше уровень косвенности ваших указателей (т. е. чем больше “*” перед вашими переменными), тем выше ваша репутация. Беззвёздочных C-программистов практически не бывает, так как практически все нетривиальные программы требуют использования указателей. Большинство являются однозвёздочными программистами. В старые времена (ну хорошо, я молод, поэтому это старые времена на мой взгляд) тот, кто случайно сталкивался с кодом, созданный трёхзвёздочным программистом, приходил в благоговейный трепет.
Некоторые даже утверждали, что видели трёхзвёздочный код, в котором указатели на функции применялись более чем на одном уровне косвенности. Как по мне, так эти рассказы столь же правдивы, сколь рассказы об НЛО.
Просто чтобы было ясно: если вас назвали Трёхзвёздочным Программистом, то обычно это не комплимент."
Условия для проверки себя на “трёхзвёздность” перечислены на другой странице того же сайта.
В случае C указатели на указатели (уровень косвенности 2) используются довольно часто, например, для возвращения указателя из функции, которая возвращает ещё что-то, или для организации двумерных массивов. Пример такой функции из Windows API:
Функция принимает имя файла как указатель на си-строку lpFileName, а также размер буфера nBufferLength в символах и адрес буфера lpBuffer, куда записывается в виде си-строки полное имя файла. Функция возвращает длину строки, записанной в буфер, или 0, если произошла ошибка. Кроме того, последний параметр функции — указатель на указатель на си-строку lpFilePart, который используется, чтобы вернуть из функции указатель на последнюю часть имени файла, записанного в буфер.
В случае C++ с помощью ссылок и Стандартной библиотеки можно вообще избежать использования “классических” указателей. Так что “беззвёздочный” C++-программист возможен.
Неограниченный уровень косвенности
Несмотря на ограниченность применения уровня косвенности выше двух, довольно часто встречается то, что можно назвать неограниченным уровнем косвенности или рекурсивным типом данных. Типичный (и простейший) пример — структура данных, называемая “связанный список” linked list .
Следующий пример демонстрирует использование связанного списка для чтения последовательности строк и вывода этой последовательности в обратном порядке:
Упражнение. Попробуйте изменить этот пример так, чтобы введённые строки выводились в том же порядке, в котором были введены.
Язык C позволяет определять указатели на функции (в указателе хранится адрес точки входа в функцию) и вызывать функции по указателю. Таким образом, можно во время исполнения программы выбирать какая именно функция будет вызвана в конкретной точке, выбирая значение указателя. Язык C++ позволяет создавать также и ссылки на функции, но ввиду того, что ссылка после инициализации не может быть изменена, область применения ссылок на функции весьма узка.
Функцией высшего порядка higher order function называют функцию, принимающую в качестве параметров другие функции. Функции высшего порядка — одно из базовых понятий функционального программирования. Единственная форма функций высшего порядка в C — функции, принимающие указатели на функции. Язык C++ расширяет круг доступных форм функций высшего порядка, но в примерах ниже мы ограничимся возможностями C.
Простой пример использования указателя на функцию — функция, решающая уравнение вида f(x) = 0, где f(x) — произвольная функция. Конкретные функции f можно передавать по указателю. Приведение функций к указателю на функцию и наоборот производится неявно автоматически, поэтому при присваивании указателю адреса конкретной функции можно не использовать оператор взятия адреса & , а при вызове функции по указателю — не использовать оператор разыменования * (поведение, аналогичное поведению с массивами).
В качестве простого примера применения функции обратного вызова рассмотрим функцию, занимающуюся поиском набора корней уравнения f(x) = 0 на заданном отрезке. Сама функция будет работать по достаточно простому алгоритму (который, естественно, не гарантирует, что будут найдены все или даже какие-то из существующих на отрезке корней): предполагаем, что есть некая функция, способная найти один корень на отрезке, если он там есть (например, функция nsolve из примера выше). Теперь берём исходный отрезок поиска [a, b] и некоторое значение “шага” step и проходим по этому отрезку с этим шагом, проверяя участки [a + i step, min(b, a + (i + 1)step], i = 0, … пока не пересечём правую границу отрезка. На каждом участке проверяем, являются ли его границы корнями, и есть ли на нём корень (принимает ли функция f разнознаковые значения на границах). В последнем случае используем “решатель” вроде nsolve (переданный по указателю), чтобы найти корень. Каждый найденный корень — это событие, вызываем для него “обработчик” — функцию обратного вызова по указателю report.
Следующий пример демонстрирует “двухзвёздное программирование” и использование указателя на функцию для определения порядка сортировки массива строк с помощью стандартной функции qsort .
Функция qsort является частью Стандартной библиотеки C. Стандартная библиотека C++ предлагает более удобную и эффективную функцию sort (определённую в заголовочном файле <algorithm> ), однако её рассмотрение выходит за пределы темы данного раздела.
Следующий пример является развитием примера со списком из предыдущего подраздела и использует бестиповые указатели, указатели на указатели и указатели на функции для управления “обобщённым” связанным списком в стиле C. Звенья такого списка могут содержать произвольные данные. Основное требование к звеньям списка — наличие в начале звена указателя на следующее звено, фактически каждый предыдущий указатель указывает на следующий.
Теперь сама программа, выводящая строки в обратном порядке, упрощается:
Впрочем, необходимо отметить, что сочетая такие приёмы со средствами C++, выходящими за пределы “чистого” C, вы рискуете нарваться на неопределённое поведение. Низкоуровневые средства требуют особой внимательности, так как компилятор в таких случаях не страхует программиста. В частности, в общем случае нельзя интерпретировать произвольный указатель как void* и наоборот без выполнения приведения типа. А это может произойти неявно, например, в примере выше мы полагаем, что указатель prev, указывающий на объект структуры Line совпадает с указателем на поле prev этого объекта.
Правило чтения сложных описаний типов
Конструкции, определяющие переменные или вводящие новые типы в языках C и C++, могут порой иметь довольно запутанный вид. Ниже дано правило, помогающее разобраться в смысле сложных конструкций.
- Начиная с имени (в случае typedef , в случае using имя находится вне — см. ниже), читать вправо, пока это возможно (до закрывающей круглой скобки или точки с запятой).
- Пока невозможно читать вправо, читать влево (убирая скобки).
Некоторые примеры “расшифровки” типов переменных:
Разница между typedef и using
Директива typedef объявляет синоним типа. Используется синтаксис определения переменной, к которой добавили ключевое слово typedef , только вместо собственно переменной вводится синоним типа этой как-бы переменной с её именем.
В С++11 появилась возможность объявлять синонимы типов с помощью using-директивы в стиле инициализации переменных:
Объявление typedef можно превратить в using-директиву, заменив typedef на using , вставив после using имя типа и знак равно и убрав это имя типа из объявления справа.
Значок (icon) -небольшая картинка, привязанная к файлу или папке. В Windows каждому типу документа соответствует свой значок, как правило, связанный с его расширением. .
Папка (Folder) -элемент логической структуры информации на жестком диске, объединяющий несколько файлов или вложенных папок более низкого уровня. Синонимы -Фолдер, Директория (директорий) .
Папка (folder), директорий (устаревш.) - элемент иерархии логических данных на жестком диске. Папка может содержать в себе другие файлы и папки.
Файл (File) - от англ. "карточка, документ". Минимальный логический элемент информации, с которым работает пользователь ПК. Может включать документ, программу (или её отдельный элемент) . В отличие от кластеров, файлы могут существовать автономно друг от друга и содержат законченный, самодостаточный объем информации.. .
Документ (Document) -особый тип файла, содержащий информацию, создаваемую и обрабатываемую пользователем с помощью программ- например, текст, изображение или звук.
Ярлык (shortcut)- особый вид значка (см. Icon) Windows, указывающий путь к какому-либо файлу. Каждый файл в Windows обозначается единственным значком, и при его перемещении или удалении удаляется и связанный с ним файл. Ярлыки же с файлом никак не связаны, они лишь указывают на него - поэтому их можно создать сколько угодно, безбоязненно перемещать из папки в папку.
Значок (icon) -небольшая картинка, привязанная к файлу или папке. В Windows каждому типу документа соответствует свой значок, как правило, связанный с его расширением. .
Папка (Folder) -элемент логической структуры информации на жестком диске, объединяющий несколько файлов или вложенных папок более низкого уровня. Синонимы -Фолдер, Директория (директорий) .
Папка (folder), директорий (устаревш.) - элемент иерархии логических данных на жестком диске. Папка может содержать в себе другие файлы и папки.
Файл (File) - от англ. "карточка, документ". Минимальный логический элемент информации, с которым работает пользователь ПК. Может включать документ, программу (или её отдельный элемент) . В отличие от кластеров, файлы могут существовать автономно друг от друга и содержат законченный, самодостаточный объем информации.. .
Документ (Document) -особый тип файла, содержащий информацию, создаваемую и обрабатываемую пользователем с помощью программ- например, текст, изображение или звук.
Ярлык (shortcut)- особый вид значка (см. Icon) Windows, указывающий путь к какому-либо файлу. Каждый файл в Windows обозначается единственным значком, и при его перемещении или удалении удаляется и связанный с ним файл. Ярлыки же с файлом никак не связаны, они лишь указывают на него - поэтому их можно создать сколько угодно, безбоязненно перемещать из папки в папку(одно и то же)
Практически никакой, но файл может быть графический, это может быть музыка или видео. А документ, по большей части, - это передача информации написанным словом.
Назначение ярлыка Корзина - (как и других ярлыков) , - для открытия окна программы, в данном случае программы, названной Корзина, т. к. в нее собираются все удаленные файлы, для того, чтобы их потом можно было восстановить, если их удалили по ошибке.
Shift+F10 - открывает контекстное меню.
ярлыки созданы для быстрого и удобного запуска программ .
Двойным щелчком мыши можно открыть объект.
Новые вопросы в Информатика
Дано натуральное число N. Найти количество цифр в его десятичной записи. Лидирующие нули не учитывать. В записи числа может содержаться до 18 цифр.
Дано натуральное число N. Найти количество цифр в его десятичной записи. Лидирующие нули не учитывать. В записи числа может содержаться до 18 цифр. Сд … елать Блок-схему.
Даю 50 баллов. Очень нужен ответ. Написать программу на языке Pascal: Дан вектор Z(11). Подсчитать количество положительных элементов, стоящих на чет … ных местах.
1.Вычислить: 101011110 ₂ + 10111010 ₂ 2. Вычислить: 10100 ₂* 1010 ₂ 3. Вычислить:100000101 ₂ – 10101011 ₂ 4. Вычислить: 1001010011 ₂ / 111 ₂
Під час практично роботи вчитель порадив Павлу відформатувати клітинки електронно таблиці. Що потрібно зробити хлопцю?
Задание в Python. Для списка [2, 5, 3, 6, 4, 7, 1, 8, 10, 9, 12, 14, 13, 11, 17] напишите такой алгоритм, который будет находить элемент с максимальны … м и минимальным значением. Отобразите значения этих элементов и их индексы в списке
Значки Windows – графическое представление объектов. Действия, производимые со значком, на самом деле производятся с объектом: открытие, копирование, удаление и др. Системные значки Мой компьютер, Мои документы, Сетевое окружение, папок, устройств (дисков, принтера) на Рабочем столе принадлежат операционной системе Windows.
Значок системной папки Компьютер (Мой компьютер) открывает окно, которое содержит значки доступа к папкам документов, хранящимся на компьютере, устройствам (дискам, принтерам) (см. рис. 4.6). Значок диска напоминает корпус винчестера. На значке дисковода компакт-дисков нарисован лазерный диск: .
Значок папки Мои документы открывает окно папки, показывающее папки и файлы, где хранятся документы пользователя.
Корзина – объект операционной системы со значком на Рабочем столе для восстановления удаленных файлов. Удаленный из любой папки файл попадает в Корзину. Значок открывает окно, в котором можно найти удаленный файл, выделить и дать команду Файл, Восстановить. Файл вернется в папку, из которой был удален (если папка также была удалена, то перед восстановлением файла папка будет создана).
Щелчок по значку Корзина правой кнопкой мыши и выбор команды Свойства позволяют узнать, на какой объем файлов настроена Корзина. При переполнении Корзины окончательно удаляются самые старые файлы. Можно выполнить команду Очистить корзину.
Системная папка Сетевое окружение предоставляет доступ к сетевым ресурсам: компьютерам, принтерам сети.
Операционная система учитывает ассоциацию типа файла и программы, хранит однозначное соответствие: расширение имени – формат файла – значок файла в папке – программа на компьютере, которая выполнит команду Файл,
Рис. 4.9. Значки файлов в папках:
Открыть и начнет работу с файлом после его выделения. Файлы в папке представляются в виде значка программы (рис. 4.9).
Ярлык – небольшой файл с расширением lnk (англ. link – связь), содержащий ссылку на ресурс, доступный на компьютере или в сети: на программу, файл, папку, диск, веб-страницу, принтер, на ресурс другого компьютера. Значок ярлыка можно размещать на Рабочем столе, в меню Пуск и любой папке. Щелчок по ярлыку программы запускает программу, по ярлыку папки или документа – открывает папку или документ.
На Рабочем столе и в окне папки значок ярлыка имеет маленькую стрелку, а в меню Пуск ярлыки без стрелки. Ярлык по команде контекстного меню Свойства показывает на вкладке путь к файлу, папке или устройству, символом которого ярлык является, например: "D:IIисъмаИвановзаявка.бос".
При установке программ ярлыки их запуска устанавливаются в меню Пуск, иногда на Рабочий стол.
Сохранять на Рабочем столе документы опасно из-за случайного удаления. На Рабочем столе желательно держать не файлы, а только ярлыки.
Окно папки Windows (рис. 4.10) содержит строку заголовка с именем папки, строку меню команд, а также панель с кнопками команд, строку адреса папки, статусную строку.
Рис. 4.10. Окно папки Windows
Меню команд папки (или программы) – это список услуг (действий, команд, параметров, настроек), которые программа или операционная система предлагает пользователю в окне для выбора. Существует несколько вариантов поведения меню: всплывающее, ниспадающее, распахивающееся от подведения указателя мыши или щелчка. Команды в окне папки можно давать не только с помощью меню, но и, наиболее актуальные, – с помощью кнопок.
Статусная строка внизу окна сообщает сведения обо всех или выделенных объектах.
Настройка вида окна папки. Меню Вид распахивает команды (см. рис. 4.10), определяющие представление файлов и папок в окне: эскизы страниц (рисунков и веб-страниц), плитка (крупные значки), значки, список (имя сбоку значка), таблица (имя файла, размер, тип, дата). Чем меньше размер значков, тем больше их видно в окне без прокрутки. Бегунок прокрутки окна видно, если не все объекты поместились в рамке.
Команда Упорядочить значки открывает сортировку файлов по имени (по алфавиту) или типу, размеру, дате.
Вся информация (программы, документы, таблицы, рисунки и пр.) хранится в файлах.
Под файлом понимают логически связанную совокупность однотипных данных или программ, для размещения которой во внешней памяти выделяется именованная область.
Файловая система обеспечивает возможность доступа к конкретному файлу и позволяет найти свободное место при записи нового файла. Она определяет схему записи информации, содержащейся в файлах, на физический диск.
Файлы на диске записываются в свободные кластеры, поэтому фрагменты одного и того же файла могут находиться в разных местах диска. Относительно производительности системы наиболее предпочтительным является такой вариант размещения файла, когда его фрагменты занимают подряд идущие кластеры. Windows9х использует файловые системы FAT16 и FAT32, WindowsNT – файловую систему NTFS.
Каждый файл имеет имя и расширение. Расширение указывает на тип файла.
Имя файла в Windows (полное, с указанием директорий, его содержащих) может иметь до 255 символов. Расширение отделяется от имени точкой. В Windows каждому типу файла ставится в соответствие свой значок.
Например: Договор аренды.doc – это файл текстового документа, созданного программой Microsoft Word.
Вот некоторые из наиболее часто встречающихся значков файлов:
- файлы с расширением com, exe, содержат программы, готовые к выполнению – программые (исполняемые) файлы;
– файлы с расширением bat – пакетные файлы;
– файлы с расширением doc – документы, созданные в текстовом редакторе Microsoft Word;
– файлы с расширением xls – таблицы, созданные в табличном процессоре Microsoft Excel;
– файлы с расширением bmp – рисунки, созданные в графическом редакторе Paint.
В имени и расширении файла нельзя использовать следующие символы:
* ? \ / | : < > "
Имя файла с расширением называется собственным именем файла.
Имена устройств
Каждому дисковому накопителю в Windows присваивается свое имя следующим образом:
A: и B: для устройств работы с дискетами,
C: для жесткого диска.
Во многих случаях жесткий диск удобно разбить на самостоятельные части (разделы). В этом случае по умолчанию каждой части присваивается свое имя C:, D:, E:, F: и т.д. по алфавиту.
При работе с компакт-диском используется имя, обозначаемое следующей по алфавиту буквой за именами разделов жесткого диска.
При использовании сетевых дисков и флэш - дисков им также присваиваются имена, которыми могут быть любые неиспользованные буквы английского алфавита. Например:
Объект – папка
Другим важным объектом файловой системы Windows является папка. Папка Windows играет ту же роль, что и обычная папка для хранения документов в делопроизводстве: она позволяет упорядочить хранение документов. В среде Windows термин «папка» приобретает более широкое толкование - как хранилище объектов. Поэтому естественно говорить «папка содержит файлы».
Папка (каталог) – поименованное место на диске для хранения файлов.
Значок обычной папки имеет вид . Папке присваивается имя, которое может иметь до 255 символов и записывается по тем же правилам, что и имя файла. Каждая папка может включать в себя другие папки, документы, таблицы, рисунки и пр.
Совокупность папок образует древовидную структуру (рис.3). Если папка X входит в папку Y, то папка Х называется вложенной папкой (подчиненной, подпапкой, папкой более низкого уровня).
Для открытия папки необходимо дважды щелкнуть на ее значке. После этого откроется окно, в котором будет представлено содержимое этой папки. Папка Y по отношению к папке Х называется родительской (папкой более высокого уровня).
Рис.3. Пример расположения файлов и папок на диске
В случае обращения к файлу необходимо указать его путь. Путь – это последовательность из имен логического диска, папок и вложенных папок, разделенных символом «\».
Уникальность имени файла обеспечивается тем, что полным именем файла считается собственное имя файла вместе с путем доступа к нему. Понятно, что в этом случае на одном носителе не может быть двух файлов с тождественными полными именами.
Например, полное имя файла Устав.doc, который находится на диске С: в папке Договора, которая входит в папку Документы, можно записать следующим образом:
Папка, с которой в данное время работает пользователь, называется открытой (текущей) папкой (более подробно о папках и файлах здесь).
Объект – ярлык
Важным понятием в среде Windows является ярлык. Изображается он значком с черной стрелкой в левом углу.
Ярлык – маленький файл (объемом 1 Кбайт) с расширением .LNK (для программ Windows) и .PIF (для программ DOS), который содержит информацию о пути к объекту.
Таким образом, ярлык – это ссылка на какой-либо объект, вторичное (дополнительное) изображение этого объекта, указывающая на его местоположение. Ярлык служит для ускорения запуска программ или документов. Объект и его ярлык обычно находятся в разных местах. Особенно эффективно использование ярлыка тогда, когда объекты находятся на нижних уровнях иерархической структуры подчиненности папок, а ярлыки – на верхних.
Можно создавать ярлыки программ, папок, файлов, дисков, принтеров и т.д. Значок ярлыка повторяет значок объекта с добавленной к нему стрелкой.
Ярлык можно легко создать или уничтожить, что никак не влияет на связанный с ним объект. У каждого объекта может быть множество ярлыков.
Ярлык для диска 3,5 (А:).
Ярлык для папки Мои рисунки (стандартный – предлагаемый пользователю по умолчанию).
Ярлык для папки Мои рисунки (измененный).
Ярлык для приложения MS Word.
Ярлык для документа, созданного пользователем в приложении MS Word.
Действия, которые можно совершать с ярлыком, аналогичны действиям над файлами (более подробно о ярлыках здесь).
Открыть ярлык – значит открыть связанный с этим ярлыком объект. В окне Свойства всегда можно узнать с каким объектом этот ярлык связан, где находится этот объект, перейти к этому объекту, сменить значок ярлыка.
Читайте также: