Temp c что это

от admin

Int temp;

из-за вызова по значению swapне может воздействовать на аргументыaиbв вызывающей функции.

К счастью, все же имеется возможность получить желаемый эффект. Вызывающая программа передает указатели подлежащих изменению значений:

swap(&a, &b);

так как операция &выдает адрес переменной, то&aявляется указателем наa. В самойswapаргументы описываются как указатели и доступ к фактическим операндам осуществляется через них.

swap(int *px, int *py) /* меняет значения *px и *py */

Int temp;

*py = temp;

Указатели в качестве аргументов обычно используются в функциях, которые должны возвращать более одного значения. Можно сказать, что swapвозвращает два значения, новые значения ее аргументов.

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

int a[10];

определяет массив размера 10, т.е. Набор из 10 последовательных объектов, называемых a[0], a[1], . a[9].Записьa[i]соответствует элементу массива черезiпозиций от начала. Еслиpa— указатель целого, описанный как int *pa; то присваивание pa = &a[0];

приводит к тому, что paуказывает на нулевой элемент массиваa.Это означает, чтоpa содержит адрес элементаa[0].Теперь присваивание x = *pa; будет копировать содержимоеa[0]вx.

Если paуказывает на некоторый определенный элемент массиваa, то по определениюpa+1указывает на следующий элемент, и вообщеpaiуказывает на элемент, стоящий на iпозиций до элемента, указываемогоpa, аpa+iна элемент, стоящий наi позиций после. Таким образом, еслиpaуказывает наa[0],то*(pa+1) ссылается на содержимоеa[1].Выражениеpa+i — это адрес элементаa[i],а*(pa+i)содержимоеa[i].

Эти замечания справедливы независимо от типа переменных в массиве a. Суть определения «добавления 1 к указателю», а также его распространения на всю арифметику указателей, состоит в том, что приращение масштабируется размером памяти, занимаемой объектом, на который указывает указатель. Таким образом,iвpa+iперед прибавлением умножается на размер объектов, на которые указываетpa.

Очевидно, существует очень тесное соответствие между индексацией и арифметикой указателей. В действительности компилятор преобразует ссылку на массив в указатель на начало массива. В результате этого имя массива является указательным выражением. Отсюда вытекает несколько весьма полезных следствий. Так как имя массива является синонимом местоположения его нулевого элемента, то присваивание pa=&a[0]можно записать какpa = a.

Еще более удивительным, по крайней мере, на первый взгляд, кажется тот факт, что ссылку на a[i]можно записать в виде*(a+i).Эти две формы совершенно эквивалентны. Если применить операцию & к обеим частям такого соотношения эквивалентности, то мы получим, что&a[i]иa+iтоже идентичны:a+i— адресi-го элемента от началаa.С другой стороны, еслиpaявляется указателем, то в выражениях его можно использовать с индексом:pa[i]идентично*(pa+i).Любое выражение, включающее массивы и индексы, может быть записано через указатели и смещения и наоборот, причем даже в одном и том же утверждении.

Имеется одно различие между именем массива и указателем, которое необходимо иметь в виду: указатель является переменной, так что операции pa = aиpa++имеют смысл. Но имя массива является константой, а не переменной: конструкции типаa = paилиa++,илиp = &aбудут неправильными.

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

Объясните зачем нужен массив temp в примере!

Подскажите, зачем в приведенном примере инициализируется локальный массив char temp[80] ? Массив не используется, но и объяснений нет никаких, очень странно, в книге не было непонятных моментов до этого. Помогите плз! П.С. Книга «С++.Для начинающих. Герберт Шилдт.»

Во-первых, массив там не «инициализируется», а объявляется (и, в данном случае, определяется). Никакой инициализации этого массива не делается.

Во-вторых, отвечая на ваш вопрос: низачем. Книги Герберта Шилдта известны довольно низким качеством изложения. Такие «хвосты» там — в порядке вещей.

Полагаю что это временное хранилище введенных данных.

Takasu's user avatar

Переменная\Объект называют temp, tmp когда подразумевают как временное хранилище данных в каких то вычислениях, например перестановка значений двух переменных. Не заморачивайся особо над листингами в книгах, там часто бывает много ошибок неточностей, в основном это происходит при переводах. Может где то этот массив, будет использоваться ниже и ты уже поймешь его предназначение, как временное хранилище.

& temp и * temp в c ++

Я новичок в C ++ и пытаюсь преобразовать строку в целое число. Я использовал atoi , но есть некоторые ограничения, поэтому я начинаю использовать strtol , который отлично работает. Тем не менее, я хотел бы узнать больше о *temp и &temp (у меня есть Google и я узнал, что это временное пространство для хранения), но хотел бы узнать разницу и когда использовать какие.

3 ответа

* temp — это указатель на переменную с именем temp, а & temp принимает адрес этой переменной

Прежде всего, jessycaaaa добро пожаловать в Stackoverflow.

Я новичок в C ++ и пытаюсь преобразовать строку в целое число.

Для меня это похоже на простой C-код. Однако вы можете скомпилировать это с помощью компилятора C ++.

Я использовал atoi, но есть некоторые ограничения, поэтому я начинаю использовать strtol, который отлично работает.

Поскольку при использовании atoi вы получаете неопределенное поведение, когда argv[1] содержит что-то отличное от числа, strtol — это подход, который стоит использовать. Если вы поделитесь с нами дополнительным кодом, мы поможем вам лучше ответить на ваши вопросы.

Тем не менее, я хотел бы узнать больше о * temp и & temp (у меня есть Google и я узнал, что это временное пространство для хранения), но хотел бы узнать разницу и когда использовать какие.

Прежде всего вы должны различать использование и декларацию .

Здесь вы объявляете (* -символ в объявлении) указатель с именем temp типа char . Указатель — это переменная, в которой хранится адрес памяти (на который он указывает). Здесь вы не определили адрес, поэтому он, скорее всего, укажет на случайное пространство, но тогда

Вы передаете адрес указателя (& -символ, вариант использования, адрес оператора) в strtol , чтобы получить адрес, указывающий на ту часть argv[1] , где заканчиваются числовые литералы, это все нормально. Функция также возвращает числовое значение прочитанной строки как long и преобразуется в int .

Здесь вы получаете доступ к значению того, на что указывает адрес (* -символ, вариант использования, оператор разыменования). \0 обычно устанавливается как указатель для строки с нулевым символом в конце. Итак, вы спрашиваете, имеет ли ранее прочитанная конечная часть символ завершения нуля.

Вы знаете, что: в C ++ есть более элегантные способы добиться этого с помощью строковых потоков:

Просто идея, если вы не хотите обрабатывать слишком много строковых манипуляций в C и раздражать указатели.

Также я бы прочитал хорошую книгу о C (не C ++). В C ++ также есть references , не запутайтесь. Если вы доминируете в концепции указателя C, я почти уверен, что все остальное будет для вас очень ясным.

* и & — одно из первых препятствий, которые должны преодолеть программисты, плохо знакомые с C и C ++.

Чтобы по-настоящему понять эти концепции, полезно узнать немного больше о том, как работает память на этих языках.

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

Грубо говоря, память делится на две части: «стек» и «кучу». Есть также другие места для самого кода и констант времени компиляции (а может быть, еще несколько) и так далее, но пока это не имеет значения. Переменные, объявленные внутри функции, всегда находятся в стеке. Давайте посмотрим на это в действии на простом примере и проанализируем, как организована память, чтобы построить ментальную модель.

Эта программа печатает 56 при выполнении. Так что же происходит, когда звонят MyFunction() ? Во-первых, для работы этой функции зарезервирована часть стека. Когда переменная intOnStack объявляется внутри функции, она помещается в эту часть стека и инициализируется (заполняется) значением int 5 .

Затем объявляется переменная intPtrOnStack . intPtrOnStack имеет тип int* . int* указывают на int , поскольку содержат их адрес в памяти. Таким образом, int* помещается в стек и инициализируется значением, полученным в результате выражения new int(6) . Это выражение создает новый int в куче и возвращает ему адрес памяти этого int ( int* ). Это означает, что intPtrOnStack теперь указывает на int в куче. Хотя сам указатель живет в стеке.

Куча — это часть памяти, которая «совместно используется» всеми функциями и объектами в программе. Стек нет. Каждая функция имеет свою часть стека, и когда функция завершается, ее часть стека освобождается.

Так что int* — это просто адреса памяти int . Неважно, где живет int . int* могут также указывать на int в стеке:

Это напечатает 55 . В этом примере мы также видим в действии оператор & — (есть несколько вариантов использования & , таких как побитовое и, я не буду вдаваться в них).

& просто возвращает адрес памяти (указатель!) Своего операнда. В этом случае его операндом является intOnStack , поэтому он возвращает свой адрес памяти и присваивает его intPtrOnStack .

До сих пор мы рассматривали только int* как типы указателей, но существуют типы указателей для каждого типа объекта, имеющего адрес в памяти, включая указатели. Это означает, что существует такая вещь, как int** , и она просто означает «указатель на указатель на int ». Как бы вы его получили? Как это: &intPtrOnStack .

Могут ли указатели жить только в стеке? Нет: new int*(&intPtrOnStack) . Или new int*(new int(5)) .

Папка TEMP на компьютере занимает много места – что делать?

В папке temp в Windows 7, 8 и XP хранятся временные и промежуточные файлы, которые создаются программами и ОС. Большую часть из этих элементов составляют файлы с расширением (.tmp). По своей сути они являются мусором.

Иногда данные файлы не удаляются после завершения работы с программами. Со временем объекты накапливаются, и папка temp занимает много места. Может достигать нескольких десятков Гб.

Можно ли удалить папку temp – ответ нет. Сам каталог удалять не нужно, но надо его очистить для освобождения дискового пространства.

Где находится папка temp в Windows– данный каталог располагается в нескольких местах, а именно:

  1. В корне системного диска (чаще всего это диск C).
  2. В самой папке Windows.
  3. На системном разделе C:\Users (пользователи)\имя учетной записи\AppData\Local\Temp
  4. В XP — С:\Documents and Settings\ имя учетной записи\Local Settings\Temp
Читать:
Доказать что прямые пересекаются и составить уравнение плоскости

Примечание: имя учетной записи – это имя пользователя, которое задается при установки Windows.
Примечание: включите показ скрытых папок, чтобы увидеть каталог AppData.

Теперь Вы знаете, что это за папка temp, где она находится, и что в ней хранится. Пришло время рассмотреть способы очищения.

Что означает «TEMP» и для чего эта папка нужна?

Начать я хочу с того, что папки и файлы на компьютере имеют некоторое разделение. Условно это разделение можно назвать как «системные» и «пользовательские».

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

Ну а если Вы случайно или намеренно удалите пользовательский файл или папку, которую удалять не следует, то у Вас просто перестанет запускаться какая-нибудь программа или постоянно будут «выскакивать» на экран и доставать назойливые сообщения об ошибках в программах. В этом случае сама операционная система не пострадает. Зато нервы себе Вы попортите основательно.

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

Это условное сокращение от слова «temporary», что в переводе с английского означает «временный». Отсюда и основное назначение этой папки — хранение временных данных (временных папок и временных файлов).

Что означает «временных»? Что хранится в папке temp? Здесь есть пару «тонких» моментов.

Один из них заключается в том, что при установке программ, операционная система использует эту папку для хранения промежуточных данных. Т.е. «скидывает» в эту папку различные программные компоненты, из которых потом формирует программные модули для, собственно, непосредственной установки самой программы или программ на компьютер. После полной установки программ эти самые никому не нужные компоненты так и остаются в папке Temp.

Почему они там остаются и почему автоматически не удаляются, это уже другой вопрос, который к данной теме не относится. Но факт остается фактом. «Мусор» со временем накапливается. И, если этот мусор не удалять, то последствия могут быть довольно печальными.

Второй момент заключается в том, что сама операционная система в процессе своей работы «скидывает» в эту папку некоторые данные, к которым периодически обращается. Причем эти самые текущие данные система жестко защищает от любого вмешательства пользователя.

Выражаясь компьютерным языком — система закрывает доступ к своим данным.

Открытая папка Temp Содержимое C:\Windows

Где находится

Первую папку с временными файлами найти легко, она расположена прямо в корневом каталоге операционной системы. Путь: С:Windows.

Но нас интересует еще и вторая папка Temp, которая постоянно переполняется. Для того чтобы ее увидеть нужно включить показ скрытых файлов и папок. Рассмотрим, как это делается, в двух самых популярных операционных системах.

Расположение в Windows 7

Жмем кнопку «Пуск» и выбираем «Панель управления».

Где находится папка Temp и как ее почистить в Windows 7 и 10

Далее ставим «Просмотр: Мелкие значки» и выбираем пункт «Параметры папок».

Сторонние программы

Хотя программ сторонних производителей программного обеспечения для очистки «мусора» довольно много, я хотел бы уделить особое внимание программе CCleaner. И, хотя это мое субъективное мнение, я считаю эту программу одной из лучших бесплатных программ данной категории по «уходу» за компьютером.

Раздел очистка в ссклинер

В большинстве случаев, процедуру очистки папок достаточно производить раз в полгода или раз в год. Критерием периодичности является то, насколько быстро уменьшается свободное место на системном диске Вашего компьютера или ноутбука.

На сегодня это все. Я рассказал, что из себя представляет папка TEMP, можно ли удалить ее содержимое.

где папка temp

Как очистить содержимое Temp

Вручную

Самый простой способ – это все сделать вручную. То есть просто найти 2 папки на своем жестком диске и очистить их, путем выделения всех файлов и удаления минуя корзину.

Интересно! Кто не знает, все файлы в одной папке можно выделить путем нажатия клавиш Ctrl+A.

CCleaner

Эта замечательная программа быстро поможет нам справиться с поставленной задачей. Запускаем ее. Если у вас она не установлена, то скачать CCleaner и прочесть инструкцию по установке можете по ссылке.

папка temp в windows 7

Очищаем диск программой оптимизатором

Таких программ много, как платных, так и бесплатны, вы можете выбрать любую, например, CCleaner. Я предлагаю для тщательной очистки диска программу, созданную Российскими специалистами под названием «Ускоритель компьютера». Программа может, кроме качественной очистки диска, очищать реестр, удалять из него ошибки, удалять лишние программы из автозагрузки. Можно наладить планирование поиска и удаления подобных ошибок и прочее.

реестр исправить

Я не хочу сейчас подробно рассказывать про эту уникальную программу, так как я о ней уже написал подробную статью: — Ускоритель компьютера. В статье вы найдёте большинство ответов на ваши вопросы. Кроме того, у данного софта есть своя служба поддержки, которая качественно ответит на все ваши вопросы. Также, ответы на ваши вопросы вы можете узнать из видео, которое я также прилагаю.

Подведём итоги

Папка Temp находится по одному из этих следующих путей:

  1. C:\Windows\Temp
  2. C:\Users\Имя пользователя\AppData\Local\Temp

Её прямое предназначение — хранение временных файлов и документов при использовании пользователем некоторых программ и утилит. В связи с этим расположение, именуемое Темп, может занимать достаточное количество пространства в памяти компьютера: порой этот вес достигает нескольких гигабайт! Занятое место может негативно сказываться на работе компьютера или ноутбука. Поэтому пользователям рекомендуется своевременно очищать эту папку, чтобы освободить памяти от загруженной информации.

Многие люди задаются вопросом: можно ли удалять директорию Темп? Как было сказано выше — нельзя, так как это системная директория. Можно только очистить путём удаления файлов, находящихся в ней, но никак не самого расположения. Надеемся, что у вас всё получилось без проблем, дорогие читатели. Делимся в комментариях, у кого какой объём информации лежал по этому пути и смогли ли вы освободить пространство.

Этап второй: делаем ее более удобной

Если возникла необходимость сделать работу с папками удобнее, то обе Temp с хранящимися в них временными файлами можно объединить в одну или создать совершенно новую в другом удобном для вас месте. Заходите в меню «Пуск», нажимаете на «Компьютер» и открываете настройки системы.

Как очистить папку Temp

Далее выбирайте «Дополнительные параметры». Внизу списка вы увидите «Переменные среды».

Как очистить папку Temp

В открывшемся окне измените путь к введенным адресам TEMP и TMP на созданную или выбранную папку. Сделать это просто: левой клавишей мыши нажмите на каждую переменную, затем примените функцию «Изменить» и наберите новый путь к папке.

Как очистить папку Temp

Подтвердите выбор клавишей «ОК». В итоге вы получите одну папку, хранящую временные файлы в удобном для вас месте.

Я рекомендую создать папку с именем «Temp» в корне диска «С» и указать ее в качестве TEMP и TMP.

Как очистить папку Temp

Методы очистки системных папок Windows 7

Если вы всё-таки решили очистить жёсткий диск от скопившихся сторонних файлов, то легче всего воспользоваться встроенными функциями Windows. Есть два изначальных варианта — стандартная и расширенная очистка.

Стандартная очистка

Используя метод стандартной очистки, вы избавитесь от следующих файлов и папок:

  • Downloaded Program File;
  • кэш, временные файлы браузера, загруженные в автономной режиме страницы;
  • статистика игр, настройки приложений, временные файлы, создаваемые различными приложениями;
  • «Корзина»;
  • «Быстрый доступ»;
  • точки восстановления системы.

Чтобы провести стандартную очистку жёсткого диска, выполните следующие действия:

    Правой кнопкой мыши кликните по диску, который хотите очистить, и перейдите к разделу «Свойства».

Контекстное меню локального диска

Открываем свойства системного диска

Свойства диска, вкладка Общие

Переходим в раздел «Общие»

Очистка диска

Выбираем файлы, которые хотим удалить

Очистка диска, вкладка Дополнительно

Нажимаем кнопку «Очистить» в разделе «Восстановление системы и теневое копирование»

Удаление временных файлов в Windows через cleanmgr

  1. Нажмите сочетание кнопок Win+R и введите команду cleanmgr.

Запуск средства очистки диска от мусора

Очистка системного диска от мусора

Смотрите еще:

  • 9 Причин Почему Компьютер с Windows Зависает
  • Как очистить кэш DNS в Windows
  • Очистка диска от ненужных файлов
  • Как очистить использование данных в windows 10
  • Приложение Фотографии не работают в Windows 10

Загрузка комментариев Канал Чат

Средство очистки диска

Одним из самых действенных методов можно назвать очистку диска. Именно «родной» инструмент «операционки» позволяет удалить временные файлы без ущерба для системы или выполняющихся в данный момент программ, приложений и служб.

файлы папки temp

Для этого используется меню свойств диска, где нужно нажать на кнопку очистки и выбрать элементы, подлежащие удалению. Можно ли удалить папку Temp таким способом? Нет. Как таковая, директория остается на диске, но вот ее содержимое очищается целиком и полностью.

Удаление временных файлов в Windows 11

  1. Откройте «Параметры» > «Память» > «Временные файлы».

временные файлы Windows11

удалить временные файлы в windows 11

Пробуем удалить вручную

Самый незамысловатый и первый пришедший на ум способ – удалить содержимое каталогов вручную. Визуально папка темп в Виндовс 7 ничем не отличается от прочих, но некоторые особенности ее файлов не позволяют проделать операцию чисто и до конца.

  • Открываем директорию обычным образом.
  • Выделяем в ней все файлы и поддиректории, щелкнув комбинацию клавиш «Ctrl» + «A» (эквивалентную опции меню «Правка» => «Выделить все»).
  • Жмем на «Shift» + «Del» и получаем… не совсем то, что мы хотели. Процесс обрывается сообщением о нежелании системы удалить тот или иной файл. Вот, как это выглядит:


Иными словами – ничего у нас не вышло. Хотя часть файлов могла удалиться и определенный объем на диске высвободиться. В принципе сама Windows подсказывает нам дальнейшие наши действия: нужно перезагрузить компьютер и проделать все заново. Таких циклов перезагрузки может потребоваться не один, а несколько. Рассмотрим альтернативный этому способ.

Чистим ручным методом

Итак, сейчас мы очистим вашу учётную папочку Темп. Системную папку вы очистите аналогичным методом.

  1. Итак, входим в данную папочку методом, описанным выше;

пользователи temp

ручное удаление temp

Удаление начнётся, но папки будут удаляться не все. У вас начнут всплывать окна, в которых будет говориться, что какая-то папочка или файл не желают удаляться. Это показывает то, что на данный момент Windows использует эту папку. В этом случае просто в появившемся окошке нажимаем «Пропустить», и продолжаем удаление. Таких сообщений может появиться много. На всех них нажимаем «Пропустить» и удаляем оставшиеся элементы.

Но, это немного муторно, особенно, если вы давно не удаляли элементы из этой папки. Поэтому, в открывшемся окошке нужно поставить галочку «Выполнить для всех…» и ОС перестанет вам надоедать подобными вопросами.

нет доступа к папке

Удаление временных папок продолжается. Чем дольше вы не удаляли подобные элементы, тем их удаление займёт больше времени. В итоге, после удаления, у меня осталось несколько файлов от множества. Это нормально. Не забываем после этого очистить корзину самостоятельно, или с помощью нижнего метода.

Сломан ваш ПК и у вас пропала возможность на нём нормально работать? Это не проблема. Нужно обратиться в наш центр по ремонту компьютеров. Мы проведём диагностику и устраним неисправность. Для нас является важным, чтобы ваш ПК продолжал отлично функционировать, и чтобы ничто не отвлекало вас от занятия любимым делом: Наше предложение: 1 Бесплатный выезд специалиста; 2 Бесплатный анализ компьютера у вас дома; 3 Мы даём гарантию после ремонта до трёх лет; 4 Выдаём чек с гарантийным талоном. Вам достаточно оставить заявку, и мы предоставим вам скидку на 15%

Похожие статьи