Шавқовар

Тағйирёбанда чист?

Тағйирёбанда чист?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Тағирёбанда номест дар ҷойе, ки дар хотираи компютер, ки дар он шумо баъзе маълумотҳоро нигоҳ медоред.

Анбори хеле калонеро бо тасмаҳои зиёди нигоҳдорӣ, мизҳо, рафҳо, ҳуҷраҳои махсус ва ғайра тасаввур кунед. Ин ҳама ҷойҳое мебошанд, ки шумо ягон чизро нигоҳ дошта метавонед. Биёед тасаввур кунем, ки мо дар як анбор як сандуқи пиво дорем. Он маҳз дар куҷост?

Мо намегӯем, ки он аз девори ғарбӣ 31 '2' ва аз девори шимолӣ 27 '8' нигоҳ дошта мешавад. Дар робита бо барномасозӣ, мо намегӯем, ки маоши умумии ман, ки имсол пардохта шудааст, дар чор байт сар карда аз ҷойгоҳи 123,476,542,732 дар RAM сар мешавад.

Маълумот дар компютер

Ҳар вақте ки барномаи мо кор мекунад, компютер тағирёбандаро дар ҷойҳои гуногун ҷойгир мекунад. Аммо, барномаи мо аниқ медонад, ки маълумот дар куҷо ҷойгир аст. Мо ин корро тавассути сохтани тағирёбанда барои ишора ба он мекунем ва пас имкон медиҳад, ки compiler тамоми тафсилоти бетартибиеро, ки дар асл он ҷойгир аст, иҷро кунад. Донистани он, ки мо дар кадом макон кадом маълумотро нигоҳ доштанамон барои мо муҳимтар аст.

Дар анбори мо, сандуқи мо метавонад дар қисми 5 рафи 3 дар минтақаи нӯшокиҳо бошад. Дар компютер, барнома аниқ медонад, ки тағирёбандаҳои он дар куҷо ҷойгиранд.

Тағйирёбандаҳо муваққатӣ мебошанд

Онҳо то даме ки лозиманд, вуҷуд дошта, сипас аз байн бурда мешаванд. Мисоли дигараш ин аст, ки тағирёбандаҳо ба монанди рақамҳо дар ҳисобкунак мебошанд. Ҳамин ки шумо тугмаҳои тоза ё барқро пахш мекунед, рақамҳои намоиш гум мешаванд.

Чӣ қадар калон тағирёбанда аст

Чӣ қадаре ки лозим аст ва ҳеҷ чизи дигаре нест. Калонтарин тағирёбанда метавонад як бит бошад ва калонтарин миллионҳо байт бошад. Протсессори кунунӣ дар як вақт 4 ё 8 байт маълумотро дар як сония коркард мекунад (32 ва 64 бит CPUs), аз ин рӯ бузургтар аст ва тағирёбанда барои хондан ё навиштан вақти бештар мегирад. Андозаи тағирёбанда аз навъи он вобаста аст.

Намуди тағирёбанда чист?

Дар забонҳои барномасозии муосир, тағирёбандаҳо як навъ эълон карда мешаванд.

Ба ғайр аз рақамҳо, CPU ҳеҷ тафовуте дар байни додаҳо дар хотираи худ намекунад. Он ҳамчун маҷмӯи байтҳо муносибат мекунад. CPU-ҳои муосир (ба истиснои телефонҳои мобилӣ) метавонанд дар таҷҳизот ҳам арифметикӣ ва ҳам шиноварро бубинанд. Компилятор бояд барои ҳар як навъи дастурҳои гуногуни коди мошин тавлид кунад, аз ин рӯ донистани он, ки кадом навъи тағирёбанда ба тавлиди коди оптималӣ кӯмак мекунад.

Кадом намуди маълумот метавонад тағйирёбанда бошад?

Навъҳои бунёдии ин чаҳор нафаранд.

  • Ададҳо (ҳарду имзо ва имзо нашуда) 1,2,4 ё 8 байт аз андоза. Одатан ҳамчун ints номида мешаванд.
  • Нуқтаи шиновар Ададҳо то 8 байт аз андоза.
  • Байт. Онҳо дар 4s ё 8s (32 ё 64 байт) ташкил карда мешаванд ва дар феҳристи CPU дар дохил ва хориҷ хонда мешаванд.
  • Матн сатр, то миллиардҳо байт дар андоза. CPUs дастурҳои махсус барои ҷустуҷӯи блокҳои калони байтҳоро дар хотира доранд. Ин барои амалиётҳои матн хеле муқим аст.

Як намуди тағйирёбандаи умумӣ низ ҳаст, ки аксар вақт дар забонҳои скрипт истифода мешавад.

  • Вариант - Ин метавонад ҳама гуна намуд дошта бошад, аммо истифода суст аст.

Намунаи намудҳои маълумот

  • Массивҳои намудҳо - андозаи яктарафа ба монанди шкафҳо дар шкаф, андозаи ду андоза ба монанди қуттиҳои мураттабии почта ё се андоза ба мисли як санги қуттиҳои пиво. Ҳама гуна андоза буда метавонад, то ҳадди ниҳоӣ.
  • Enums, ки маҷмӯи маҳдудшудаи бутун мебошанд. Дар бораи чист чист.
  • Структҳо як тағирёбандаи таркиб мебошанд, ки дар он як чанд тағирёбанда дар як тағйири калон ҷамъ мешаванд.
  • Ҷараёнҳо роҳи идоракунии файлҳоро таъмин мекунад. Онҳо як шакли сатр ҳастанд.
  • Объектҳо ба structs монанданд, вале бо коркарди додаҳо мураккабтаранд.

Тағйирёбандаҳо дар куҷо нигоҳ дошта мешаванд?

Дар хотира, вале бо роҳҳои гуногун, вобаста аз он, ки онҳо чӣ тавр истифода мешаванд.

  • Глобалӣ. Ҳама қисмҳои барнома метавонанд арзиши дастрасиро тағйир диҳанд ва тағир диҳанд. Ин ҳамон гуна аст, ки забонҳои қадимӣ ба мисли Basic ва Fortran барои коркарди маълумот истифода мешуданд ва онҳо хуб ҳисобида намешаванд. Забонҳои муосир майли нигоҳдории глобалиро доранд, ҳарчанд ин имконпазир аст.
  • Дар болои теппа. Ин ном барои минтақаи асосии истифодашуда мебошад. Дар C ва C ++, дастрасӣ ба он тавассути тағирёбандаҳои ишора ба вуҷуд омадааст.
  • Дар стакан. Стек як блоки хотира мебошад, ки барои нигаҳдории параметрҳои ба функсия интиқолшуда ва тағйирёбандаҳои маҳаллӣ барои функсияҳо истифода мешаванд.

Хулоса

Тағирёбандаҳо барои барномасозии мурофиавӣ муҳиманд, аммо муҳим нест, ки агар шумо барномасозии системавӣ ва ё навиштани барномаҳое дошта бошед, ки ба миқдори ками RAM кор мекунанд, аз иҷроиши асосӣ нофаҳмӣ накунед.

Қоидаҳои мо дар бораи тағирёбанда:

  1. Агар шумо дар рама зич набошед ё массаҳои калон надошта бошед, на бо а байт (8 бит) ё кӯтоҳ Int (16 байт). Хусусан дар 32 битҳои CPU, барои дастрасӣ аз 32 бит камтар ҷазои изофӣ пешбинӣ шудааст.
  2. Ба ҷои ҷуфти ҷой шиноварро истифода кунед, агар ба шумо дақиқ ниёз надиҳад.
  3. Аз вариантҳо канорагирӣ кунед, агар дар ҳақиқат лозим набошад. Онҳо сусттар.