Переменная (программирование)

Переме́нная в императивном программировании — именованная, либо адресуемая иным способом абстрактная/виртуальная или физическая память. Адрес, на который указывает переменная используется для доступа к данным, а данные , находящиеся в переменной, называются значением этой переменной. Свойства значений в переменной явно или неявно определяются типом переменной.

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

Область видимости и/или время существования переменной в языках программирования задаётся классом памяти.

Классификация

Статическая и динамическая типизация переменных

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

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

Тем не менее, во многих случаях необходимо применение динамической типизации. Например, необходимость поддержания совместимости при переходе на новый формат представления данных (например, старая часть проекта посылает процедуре дату символьной строкой, а новые объекты используют более современный числовой тип).

Статические и динамические переменные

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

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

Локальные и глобальные переменные. Области видимости

По зоне видимости различают локальные и глобальные переменные. Первые доступны только конкретной подпрограмме, вторые — всей программе. С распространением модульного и объектного программирования, появились ещё и общие переменные (доступные для определённых уровней иерархии подпрограмм). Область видимости иногда задаётся классом памяти. Ограничение видимости может производиться путём введения пространств имён.

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

Простые и сложные переменные

По наличию внутренней структуры, переменные могут быть простыми или сложными (составными).

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

Самыми характерными примерами сложных типов являются массив (все элементы однотипные) и запись (элементы могут иметь разный тип).

Следует подчеркнуть относительность такого деления: для разных программ одна и та же переменная может иметь разную структуру.

Например, компилятор различает в переменной вещественного типа 4 поля: знаки мантиссы и порядка, плюс их значения, но для программиста, компилирующего свою программу, вещественная переменная — единая ячейка памяти, хранящая вещественное число.

Соглашения об именовании переменных

См. также

Примечания

Ссылки

Read other articles:

Radio Inter DadesTipusemissora de ràdio HistòriaCreació12 de febrer de 1950 Radio Inter o La Inter, anteriorment coneguda com a Radio Intercontinental, és una emissora de ràdio espanyola de caràcter generalista, amb emissió en diferents freqüències en l'FM i en Internet. Pertany a la societat anònima Companyia de Radiodifusió Intercontinental (CRISA), propietat al 96,7% del Grup Intereconomía. Els seus estudis es troben al Carrer Modesto Lafuente 42 de Madrid. Des del 7 de gener 2...

 

العلاقات النمساوية القطرية النمسا قطر   النمسا   قطر تعديل مصدري - تعديل   العلاقات النمساوية القطرية هي العلاقات الثنائية التي تجمع بين النمسا وقطر.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة النمسا قطر ال�...

 

Suatu bros dari abad ke-19 yang disimpan di Children's Museum of Indianapolis. Bros atau kerongsang adalah benda perhiasan dekoratif yang dirancang agar dapat terpasang disematkan ke pakaian atau media lain. Pada bagian belakang bros terdapat jarum dan kait seperti peniti untuk menyematkan perhiasan ini pada kain. Selain dikenakan pada pakaian, ada beberapa jenis bros yang berfungsi sebagai ikat atau hiasan rambut. Bahan Bros biasanya terbuat dari logam mulia, seperti emas atau perak, tetapi ...

Halaman ini berisi artikel tentang konsep sosialis. Untuk penggunaan lain, lihat Sosialisasi (disambiguasi). Bagian dari seriSosialisme Perkembangan Sejarah sosialisme Perdebatan kalkulasi sosialis Ekonomi sosialis Gagasan Penghitungan dalam barang Kepemilikan kolektif Koperasi Kepemilikan bersama Demokrasi ekonomi Perencanaan ekonomi Kesetaraan kesempatan Asosiasi bebas Demokrasi industri Model masukan-keluaran Internasionalisme Kupon kerja Keseimbangan material Ekonomi sejawat ke sejawat(Ek...

 

Essence or inherent nature of thing Part of a series onThomas Aquinas Thomism Scholasticism Apophatic theology Divine simplicity Quinque viae Beatific vision Actus purus Actus essendi Primum Movens Sacraments Correspondence theory Hylomorphism Substance theory (ousia) Substantial form Quiddity (essence / accident nature) Peripatetic axiom Principle of double effect Aristotelian ethics Cardinal / Theological Natural law Determinatio Just war Just price Concupiscence...

 

Facade of the house The Tlaxcala House is located at 40 San Ildefonso Street in the historic center of Mexico City. It is an example of a typical middle-class home of the 18th century, meant that its style is somewhere between the mansions of the wealthy and the houses of the commoners of the time.[1] The outer facade has two levels, with most of the surface covered in tezontle, a blood-red volcanic stone, with chiluca, a grayish white stone, to frame windows and doors. In the lower p...

1985 album Who's MissingCompilation album by the WhoReleased30 November 1985 (1985-11-30)Recorded1965–1971GenreRockLength41:07LabelPolydor (UK)MCA (US)The Who chronology The Who Collection(1985) Who's Missing(1985) Two's Missing(1987) Who's Missing is a compilation of rare and previously unreleased songs by the English rock band the Who.[1] Its second part, Two's Missing, was released on 11 April 1987. The CD was reissued in Japan on 24 December 2011 with addition...

 

Carte de la Novempopulanie. Les Sotiates, Sottiates ou Sontiates[1],[2] étaient un peuple aquitain (Proto-Basques) sous influence celte[3] en Aquitaine protohistorique, dans la région de Sos, dans l'actuel département de Lot-et-Garonne. Drachme « à la tête bouclée du Causé » frappé par les Sotiates. Date : IIe-Ier siècles av. J.-C. Origine du peuple Son origine soulève différentes hypothèses. Selon Jean-Pierre Brèthes, le peuple des Sotiates, qui possède un oppi...

 

Assedio di Boulogneparte della Guerra d'Italia del 1542-1546Illustrazione di James Basire dell'assedio di BoulogneData19 luglio - 18 settembre 1544 LuogoBoulogne-sur-Mer EsitoVittoria inglese Schieramenti Inghilterra Regno di Francia ComandantiEnrico VIII d'Inghilterra,duca di SuffolkFrancesco I di Francia Voci di battaglie presenti su Wikipedia Manuale V · D · MBattaglie della Guerra d'Italia del 1542-1546Perpignano (1542) · Nizza (1543) · Ceresole (1544) · Serr...

This article contains content that is written like an advertisement. Please help improve it by removing promotional content and inappropriate external links, and by adding encyclopedic content written from a neutral point of view. (December 2019) (Learn how and when to remove this message) Marmore MENA IntelligenceCompany typePrivateIndustryMarket research & analysisFounded2010HeadquartersKuwaitSubsidiariesMarkazWebsitemarmoremena.com/en/ Marmore Mena Intelligence is a research firm based...

 

North Korean satellite program Kwangmyŏngsŏng programChosŏn'gŭl광명성Hancha光明星Revised RomanizationGwangmyeongseongMcCune–ReischauerKwangmyŏngsŏngIPA[kwaŋ.mjʌŋ.sʌŋ] The Kwangmyŏngsŏng program was a class of experimental satellites developed by North Korea. The name Kwangmyŏngsŏng (bright star, brilliant star or constellation in Korean) is from a poem written by Kim Il Sung. The first class of satellites built by North Korea, the program started in the mid-1980...

 

U.S. House district for Massachusetts MA 7 redirects here. The term may also refer to Mercury-Atlas 7, part of Project Mercury, and the second manned American orbital spaceflight. Massachusetts's 7th congressional districtInteractive map of district boundaries since January 3, 2023Representative  Ayanna PressleyD–BostonPopulation (2022)754,113Median householdincome$81,795[1]Ethnicity38.7% White21.9% Hispanic20.4% Black11.7% Asian5.4% Two or more races2.0% otherCook PVID+35[...

Former American motion picture production company Goldwyn Pictures CorporationStudio's 1917 opening logo, featuring a lionIndustryFilm studioFoundedNovember 19, 1916; 107 years ago (1916-11-19)FoundersSamuel GoldwynEdgar SelwynArchibald SelwynDefunctApril 17, 1924; 100 years ago (1924-04-17)FateMerged with Metro Pictures Corporation and Louis B. Mayer Pictures to form Metro-Goldwyn-MayerSuccessorsStudio:Metro-Goldwyn-MayerAmazon MGM StudiosLibrary:Warner Br...

 

County in Missouri, United States This article is about the county in Missouri. For other uses, see Daviess County. County in MissouriDaviess CountyCountyDaviess County Courthouse in GallatinLocation within the U.S. state of MissouriMissouri's location within the U.S.Coordinates: 39°58′N 93°59′W / 39.96°N 93.99°W / 39.96; -93.99Country United StatesState MissouriFoundedDecember 29, 1836Named forMajor Joseph Hamilton DaviessSeatGallatinLargest cityGall...

 

Rai News 24Logo dell'emittenteStato Italia Linguaitaliano Tipocanale notiziario Targetadulti, giovani SloganL’informazione cambia passo[1] VersioniRai News 24 SD 576i (SDTV)(data di lancio: 26 aprile 1999)Rai News 24 HD 1080i (HDTV)(data di lancio: 4 gennaio 2017) Nomi precedentiRai News (2010-2013) EditoreRai DirettorePaolo Petrecca (dal 2021) Sitorainews.it DiffusioneTerrestre Rai RAI Mux A Rai News 24 HD (Italia)DVB-T - FTACanale 48 HD RAI Mux MR Rai News 24 (Italia)DVB-T - ...

لقاح شلل الأطفال الاسم النظامي لقاح شلل الأطفال اعتبارات علاجية فئة السلامة أثناء الحمل C (قطرات أو رذاذ) طرق إعطاء الدواء حقن (IPV)، قطرات بالفم (OPV) معرّفات ك ع ت J07BF01،  وJ07BF03،  وJ07BF  بيانات كيميائية تعديل مصدري - تعديل   يستخدم نوعان من لقاح شلل الأطفال حول العالم، ...

 

常滑線 2000系「ミュースカイ」(常滑駅付近)概要系統 ■中部国際空港方面起終点 起点:神宮前駅終点:常滑駅駅数 23駅路線記号 TAウェブサイト 常滑線・空港線運営開業 1912年2月18日 (112年前) (1912-02-18)最終延伸 1913年8月31日 (111年前) (1913-08-31)所有者 愛知電気鉄道→名古屋鉄道路線諸元路線総延長 29.3 km (18.2 mi)軌間 1,067 mm (3 ft 6 in...

 

Questa voce o sezione sull'argomento montagne d'Italia non cita le fonti necessarie o quelle presenti sono insufficienti. Puoi migliorare questa voce aggiungendo citazioni da fonti attendibili secondo le linee guida sull'uso delle fonti. Segui i suggerimenti del progetto di riferimento. Dolomiti PesarineAlba sulle Dolomiti PesarineContinenteEuropa Stati Italia Catena principaleAlpi Carniche e della Gail Cima più elevataMonte Terza Grande (2 586 m s.l.m.) Le Dolomiti...

هيومن رايتس ووتش هيومن رايتس ووتش‌ الاختصار (بالإنجليزية: HRW)‏  البلد الولايات المتحدة  المقر الرئيسي مبنى إمباير ستيت، مدينة نيويورك، ولاية نيويورك في الولايات المتحدة تاريخ التأسيس 1978،  و1988  المؤسس روبرت إل. بيرنستاين،  وآريه نيير  [لغات أخرى]‏  ا�...

 

Pour les articles homonymes, voir The Factory. Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article provoque une controverse de neutralité (voir la discussion) (mai 2023). Considérez-le avec précaution. (Questions courantes) Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (mai 2023). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sit...