Global variable
கணினி நிரலாக்கத்தில், ஒரு உலகளாவிய மாறி என்பது உலகளாவிய நோக்கத்துடன் கூடிய ஒரு மாறி ஆகும், அதாவது நிழல் இல்லாவிட்டால், அது நிரல் முழுவதும் தெரியும் (எனவே அணுகக்கூடியது). அனைத்து உலகளாவிய மாறிகளின் தொகுப்பும் உலகளாவிய சூழல் அல்லது உலகளாவிய நிலை என்று அழைக்கப்படுகிறது. தொகுக்கப்பட்ட மொழிகளில், உலகளாவிய மாறிகள் பொதுவாக நிலையான மாறிகள், அதன் அளவு (வாழ்நாள்) நிரலின் முழு இயக்க நேரமாகும், இருப்பினும் விளக்கப்பட்ட மொழிகளில் (கட்டளை-வரி மொழிபெயர்ப்பாளர்கள் உட்பட), உலகளாவிய மாறிகள் பொதுவாக அறிவிக்கப்படும்போது மாறும் வகையில் ஒதுக்கப்படுகின்றன, ஏனெனில் அவை முன்கூட்டியே அறியப்படவில்லை நேரம். சில மொழிகளில், அனைத்து மாறிகளும் இயல்பாகவே உலகளாவிய அல்லது உலகளாவியவை, அதே நேரத்தில் பெரும்பாலான நவீன மொழிகளில் மாறிகள் வரையறுக்கப்பட்ட நோக்கத்தைக் கொண்டுள்ளன, பொதுவாக லெக்சிகல் நோக்கம், இருப்பினும் உலகளாவிய மாறிகள் பெரும்பாலும் நிரலின் மேல் மட்டத்தில் ஒரு மாறியை அறிவிப்பதன் மூலம் கிடைக்கின்றன. இருப்பினும், மற்ற மொழிகளில், உலகளாவிய மாறிகள் இல்லை; இவை பொதுவாக ஒரு தொகுதி கட்டமைப்பை அமல்படுத்தும் மட்டு நிரலாக்க மொழிகள் அல்லது ஒரு வகுப்பு கட்டமைப்பை செயல்படுத்தும் வகுப்பு அடிப்படையிலான பொருள் சார்ந்த நிரலாக்க மொழிகள் ஆகும். உலகளாவிய மாறிகளுடனான தொடர்பு வழிமுறைகளைப் பயன்படுத்துவது உலகளாவிய சூழல் என்று அழைக்கப்படுகிறது (உலகளாவிய நிலையையும் பார்க்கவும்). உலகளாவிய சுற்றுச்சூழல் முன்னுதாரணம் உள்ளூர் சுற்றுச்சூழல் முன்னுதாரணத்துடன் முரண்படுகிறது, அங்கு அனைத்து மாறிகளும் பகிரப்பட்ட நினைவகம் இல்லாமல் உள்ளூர் (எனவே அனைத்து தொடர்புகளையும் செய்தி அனுப்புவதற்கு மறுசீரமைக்கலாம்). ஒருங்கிணைந்த இழைகள் மற்றும் சமிக்ஞை கையாளிகள் போன்ற அழைப்பாளர்/காலி உறவைப் பகிர்ந்து கொள்ளாத குறியீட்டின் பிரிவுகளுக்கு இடையில் தகவல்களை அனுப்ப உலகளாவிய மாறிகள் விரிவாகப் பயன்படுத்தப்படுகின்றன. ஒவ்வொரு கோப்பும் ஒரு மறைமுகமான பெயர் இடத்தை வரையறுக்கும் மொழிகள் (சி உட்பட) உலகளாவிய பெயர் இடத்தைக் கொண்ட மொழிகளில் காணப்படும் பெரும்பாலான சிக்கல்களை நீக்குகின்றன, இருப்பினும் சில சிக்கல்கள் சரியான தொகுப்பு இல்லாமல் தொடரக்கூடும். முறையான பூட்டுதல் இல்லாமல் (மியூடெக்ஸ் போன்றது), உலகளாவிய மாறிகளைப் பயன்படுத்தும் குறியீடு பாதுகாக்கப்பட்ட நினைவகத்தில் உள்ள வாசிப்பு மட்டுமே மதிப்புகளைத் தவிர நூல்-பாதுகாப்பாக இருக்காது. சுற்றுச்சூழல் மாறிகள் என்பது சில இயக்க முறைமைகளால் வழங்கப்படும் ஒரு வசதி ஆகும். OS இன் ஷெல்லுக்குள் (யுனிக்ஸில் ksh, லினக்ஸில் bash, DOS இல் COMMAND.COM மற்றும் விண்டோஸில் CMD.EXE) அவை ஒரு வகையான மாறிஃ எடுத்துக்காட்டாக, யுனிக்ஸ் மற்றும் தொடர்புடைய அமைப்புகளில் ஏற்றுமதி முக்கிய சொல் பயன்படுத்தப்படும்போது ஒரு சாதாரண மாறி ஒரு சூழல் மாறி ஆகிறது. ஷெல்ல்களைத் தவிர பிற நிரல் குறியீடுகள் அவற்றைப் பெறுநவி () மற்றும் செட்டென்வி () போன்ற ஏபிஐ அழைப்புகள் மூலம் அணுக வேண்டும். அவை அமைக்கப்பட்ட செயல்முறைக்கு அவை உள்ளூர். அதாவது, நாம் இரண்டு முனைய சாளரங்களைத் திறந்து (ஷெல் இயங்கும் இரண்டு வெவ்வேறு செயல்முறைகள்) ஒரு சாளரத்தில் சூழல் மாறியின் மதிப்பை மாற்றினால், அந்த மாற்றத்தை மற்ற சாளரத்தால் காண முடியாது. ஒரு குழந்தை செயல்முறை உருவாக்கப்படும்போது, அது அனைத்து சுற்றுச்சூழல் மாறிகள் மற்றும் அவற்றின் மதிப்புகளை பெற்றோர் செயல்முறையிலிருந்து பெறுகிறது. வழக்கமாக, ஒரு நிரல் மற்றொரு நிரலை அழைக்கும்போது, அது முதலில் ஃபோர்க்கிங் மூலம் ஒரு குழந்தை செயல்முறையை உருவாக்குகிறது, பின்னர் குழந்தை தேவைக்கேற்ப சூழலை சரிசெய்கிறது, கடைசியாக குழந்தை அழைக்கப்பட வேண்டிய நிரலுடன் தன்னை மாற்றிக்கொள்கிறது. எனவே குழந்தை செயல்முறைகள் தங்கள் சகாக்களுடன் தொடர்பு கொள்ள சுற்றுச்சூழல் மாறிகளைப் பயன்படுத்த முடியாது, தொலைதூர சிக்கலில் செயலைத் தவிர்க்கலாம். அடிப்படை, கோபால் மற்றும் ஃபோர்ட்ரான் I (1956) போன்ற (ஆரம்ப பதிப்புகள்) கட்டமைக்கப்படாத பல மொழிகள் உலகளாவிய மாறிகளை மட்டுமே வழங்குகின்றன. ஃபோர்ட்ரான் II (1958) உள்ளூர் மாறிகள் கொண்ட சப்ரூட்டின்களையும், உலகளாவிய மாறிகளை அணுகுவதற்கான காமன் முக்கிய வார்த்தையையும் அறிமுகப்படுத்தியது. ஃபோர்ட்ரானில் பொதுவான பயன்பாடு ஃபோர்ட்ரான் 77 இல் தொடர்ந்தது, மேலும் பி. எல்/எஸ். க்யூ. எல் போன்ற பிற்கால மொழிகளில் தாக்கத்தை ஏற்படுத்தியது. குளோபல்களுக்கு பெயரிடப்பட்ட காமன் குழுக்கள் ஓரளவு கட்டமைக்கப்பட்ட பெயர் இடங்களைப் போல செயல்படுகின்றன. ஃபோர்த், லுவா, பெர்ல் மற்றும் பெரும்பாலான ஷெல்ல்களில் மாறிகள் இயல்பாகவே உலகளாவியவை. சி மற்றும் சி + + மொழிகளின் படி சி மொழிக்கு உலகளாவிய முக்கிய சொல் இல்லை. இருப்பினும், ஒரு செயல்பாட்டிற்கு வெளியே அறிவிக்கப்பட்ட மாறிகள் "கோப்பு நோக்கம்" கொண்டவை, அதாவது அவை கோப்புக்குள் தெரியும். கோப்பு நோக்கத்துடன் அறிவிக்கப்பட்ட மாறிகள் அவற்றின் அறிவிப்பு மற்றும் தொகுப்பு அலகு (. சி கோப்பு) முடிவிற்கும் இடையில் தெரியும் (உள்ளூர் மாறி போன்ற அருகிலுள்ள வரம்பில் ஒத்த பெயரிடப்பட்ட பொருளால் நிழலிடப்படாவிட்டால்); மேலும் அவை மறைமுகமாக வெளிப்புற இணைப்பைக் கொண்டுள்ளன, இதனால் அவற்றின் அறிவிப்புகளைக் கொண்ட. சி கோப்பு அல்லது தொகுப்பு அலகு மட்டுமல்லாமல், முழுமையான நிரலை உருவாக்க இணைக்கப்பட்டுள்ள ஒவ்வொரு தொகுப்பு அலகுக்கும் தெரியும். இருப்பினும், பிற கோப்புகளில் அத்தகைய மாறியின் பயன்பாட்டிற்கு வெளிப்புற இணைப்பு போதுமானதாக இல்லைஃ ஒரு தொகுப்பு அலகு அத்தகைய உலகளாவிய மாறியை சரியாக அணுக, அது அதன் வகையை அறிந்து கொள்ள வேண்டும். வெளிப்புற முக்கிய வார்த்தையைப் பயன்படுத்தி ஒவ்வொரு கோப்பிலும் உள்ள மாறியை அறிவிப்பதன் மூலம் இது நிறைவேற்றப்படுகிறது. (இது ஒவ்வொரு கோப்பிலும் அறிவிக்கப்படும், ஆனால் ஒன்றில் மட்டுமே வரையறுக்கப்படலாம்.) அத்தகைய வெளிப்புற அறிவிப்புகள் பெரும்பாலும் பகிரப்பட்ட தலைப்பு கோப்பில் வைக்கப்படுகின்றன, ஏனெனில் ஒரு திட்டத்தில் உள்ள அனைத்து. c கோப்புகளும் குறைந்தபட்சம் ஒரு. h கோப்பைச் சேர்ப்பது பொதுவான நடைமுறையாகும்ஃ நிலையான தலைப்பு கோப்பு errno.h ஒரு எடுத்துக்காட்டு, இது ஒரு திட்டத்தில் உள்ள அனைத்து தொகுதிகளுக்கும் பிழை மாறியை அணுகுகிறது. இந்த உலகளாவிய அணுகல் பொறிமுறை சிக்கலானது என்று தீர்மானிக்கப்படும் இடத்தில், நிலையான முக்கிய வார்த்தையைப் பயன்படுத்தி அதை முடக்கலாம், இது ஒரு மாறியை கோப்பு நோக்கத்திற்கு கட்டுப்படுத்துகிறது, மேலும் தொகுப்பு (அல்லது இணைத்தல்) பிழையை எழுப்ப வெளிப்புறத்துடன் இறக்குமதி செய்ய முயற்சிக்கும். C இல் உள்ள "உலகளாவிய" மாறியின் எடுத்துக்காட்டுஃ #include <stdio.h>// இது கோப்பு-வரம்பு மாறி (உள் இணைப்புடன்), இந்த தொகுப்பு அலகு// இல் மட்டுமே தெரியும். நிலையான int பகிர்வு = 3;// இது வெளிப்புற இணைப்பைக் கொண்டுள்ளது (இந்த தொகுப்பு அலகுக்கு மட்டுப்படுத்தப்படவில்லை). extern int ஓவர் _ ஷேர்டு;// மேலும் உள் இணைப்பு. int ஓவர் _ ஷேர்டு _ டூ = 2; நிலையான வெற்றிடமானது ஒரு செயல்பாட்டில் கோப்பு-வரம்பு மாறிக்கு சேஞ்ச்ஷேர் () {// குறிப்பு. பகிரப்பட்ட = 5;} நிலையான வெற்றிட லோக்கல் ஷாடோ () {// உள்ளூர் மாறி அதே பெயரின் உலகளாவிய மறைக்கும். int பகிரப்பட்டது;// இது உள்ளூர் மாறியை மட்டுமே பாதிக்கும் மற்றும் அதே பெயரின்// கோப்பு-நோக்கம் மாறிக்கு எந்த விளைவையும் ஏற்படுத்தாது. பகிரப்பட்டது = 1000;} நிலையான வெற்றிடமான பரம் ஷாடோ (int பகிரப்பட்டது) {// இது அளவுருவை மட்டுமே பாதிக்கும் மற்றும் அதே பெயரின் கோப்பு-//நோக்கம் மாறி மீது எந்த விளைவையும் ஏற்படுத்தாது. பகிரப்பட்ட =-பகிரப்பட்ட;} int முக்கிய () {// கோப்பு-நோக்கம் மாறியின் குறிப்பு. பிரிண்ட்எஃப் ("% d\n", பகிரப்பட்டது); சேஞ்ச்ஷேர்ட் (); பிரிண்ட்எஃப் ("% d\n", பகிரப்பட்டது); லோக்கல்ஷாடோ (); பிரிண்ட்எஃப் ("% d\n", பகிரப்பட்டது); பரமஷாடோ (1); பிரிண்ட்எஃப் ("% d\n", பகிரப்பட்டது); ரிட்டர்ன் 0;} மாறி ஒரு வெளிப்புறமாக இருப்பதால், பிரதானத்தைத் தவிர ஒரு செயல்பாட்டில் பயன்படுத்த அதை ஒரு அளவுருவாக அனுப்ப வேண்டிய அவசியமில்லை. இது தொகுதியில் உள்ள ஒவ்வொரு செயல்பாட்டிற்கும் சொந்தமானது. வெளியீடு இருக்கும்ஃ 3 5 5 5 ஜாவா போன்ற சில மொழிகளில் உலகளாவிய மாறிகள் இல்லை. ஜாவாவில், உள்ளூர் மாறிகள் அல்லாத அனைத்து மாறிகளும் ஒரு வகுப்பின் புலங்களாகும். எனவே அனைத்து மாறிகளும் ஒரு வகுப்பு அல்லது ஒரு முறையின் வரம்பில் உள்ளன. ஜாவாவில், நிலையான புலங்கள் (வர்க்க மாறிகள் என்றும் அழைக்கப்படுகின்றன) வகுப்பின் எந்தவொரு நிகழ்வுகளிலிருந்தும் சுயாதீனமாக உள்ளன, மேலும் ஒரு நகல் அனைத்து நிகழ்வுகளிலும் பகிரப்படுகிறது; எனவே பொது நிலையான புலங்கள் மற்ற மொழிகளில் உலகளாவிய மாறிகள் போன்ற பல நோக்கங்களுக்காக பயன்படுத்தப்படுகின்றன, ஏனெனில் அவற்றின் ஒத்த "பகிர்வு" நடத்தைஃ பொது வகுப்பு உலகளாவிய மற்றும் உலகளாவிய மாறிகளைப் பயன்படுத்துவதற்கான பல அசாதாரண வழிகளைக் கொண்டுள்ளது. செயல்பாடுகளுக்கு வெளியே அறிவிக்கப்பட்ட மாறிகள் கோப்பு நோக்கத்தைக் கொண்டுள்ளன (இது பெரும்பாலான நோக்கங்களுக்காக பரந்த நோக்கமாகும்). இருப்பினும், உலகளாவிய முக்கிய வார்த்தையுடன் இறக்குமதி செய்யப்படாவிட்டால் அவை செயல்பாடுகளுக்குள் அணுக முடியாது (அதாவது, முக்கிய சொல் உலகளாவிய மாறிகளை அணுகுகிறது, அது அவற்றை அறிவிக்காது). இருப்பினும், சூப்பர் குளோபல்கள் என்று அழைக்கப்படும் சில முன்னரே வரையறுக்கப்பட்ட மாறிகள் எப்போதும் அணுகக்கூடியவை. அவை அனைத்தும் வரிசைகள். ஒரு பொதுவான நோக்கம் $GLOBALS சூப்பர் குளோபல் ஆகும், இது செயல்பாட்டு நோக்கத்திலிருந்து வரையறுக்கப்பட்ட அனைத்து மாறிகளையும் கொண்டுள்ளது. அதன் கூறுகளில் ஏற்படும் மாற்றங்கள் அசல் மாறிகளை மாற்றுகின்றன, மேலும் சேர்த்தல்கள் புதிய மாறிகளை உருவாக்குகின்றன. சூப்பர் குளோபல்கள் $_ POST மற்றும் $_ GET ஆகியவை வலை நிரலாக்கத்தில் பரவலாகப் பயன்படுத்தப்படுகின்றன. பிற மொழிகள் பைதான் மற்றும் MATLAB இல் ஒரு உலகளாவிய மாறியை உலகளாவிய முக்கிய வார்த்தையுடன் எங்கும் அறிவிக்க முடியும். ரூபியின் உலகளாவிய மாறிகள் ஒரு '$' சிகில் மூலம் வேறுபடுகின்றன. முன்னரே வரையறுக்கப்பட்ட பல கோளங்கள் உள்ளன, எடுத்துக்காட்டாக $$என்பது தற்போதைய செயல்முறை ஐடி ஆகும். மேலும் காண்க உள்ளூர் மாறி உள்ளூர் அல்லாத மாறி சிங்கிள்டன் முறை மாறிகள் நிலையான மாறி வெளிப்புற மாறி குறிப்புகள் மாறுபடும் (கணினி அறிவியல்) டிஃ மாறுபடும் (நிரல்) #Variablen ஐனர் பிளாக்ஸ்ட்ரக்டூரில்