[{"@context":"http:\/\/schema.org\/","@type":"BlogPosting","@id":"https:\/\/wiki.edu.vn\/wiki17\/2021\/01\/27\/globale-variable-wikipedia\/#BlogPosting","mainEntityOfPage":"https:\/\/wiki.edu.vn\/wiki17\/2021\/01\/27\/globale-variable-wikipedia\/","headline":"Globale Variable – Wikipedia","name":"Globale Variable – Wikipedia","description":"In der Computerprogrammierung a Globale Variable ist eine Variable mit globalem G\u00fcltigkeitsbereich, dh sie ist im gesamten Programm sichtbar (daher","datePublished":"2021-01-27","dateModified":"2021-01-27","author":{"@type":"Person","@id":"https:\/\/wiki.edu.vn\/wiki17\/author\/lordneo\/#Person","name":"lordneo","url":"https:\/\/wiki.edu.vn\/wiki17\/author\/lordneo\/","image":{"@type":"ImageObject","@id":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/44a4cee54c4c053e967fe3e7d054edd4?s=96&d=mm&r=g","height":96,"width":96}},"publisher":{"@type":"Organization","name":"Enzyklop\u00e4die","logo":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":600,"height":60}},"image":{"@type":"ImageObject","@id":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","url":"https:\/\/wiki.edu.vn\/wiki4\/wp-content\/uploads\/2023\/08\/download.jpg","width":100,"height":100},"url":"https:\/\/wiki.edu.vn\/wiki17\/2021\/01\/27\/globale-variable-wikipedia\/","wordCount":2244,"articleBody":"In der Computerprogrammierung a Globale Variable ist eine Variable mit globalem G\u00fcltigkeitsbereich, dh sie ist im gesamten Programm sichtbar (daher zug\u00e4nglich), sofern sie nicht im Schatten liegt. Die Menge aller globalen Variablen wird als bezeichnet globale Umwelt oder globaler Staat. In kompilierten Sprachen sind globale Variablen im Allgemeinen statische Variablen, deren Umfang (Lebensdauer) die gesamte Laufzeit des Programms darstellt. In interpretierten Sprachen (einschlie\u00dflich Befehlszeileninterpreten) werden globale Variablen bei der Deklaration im Allgemeinen dynamisch zugewiesen, da sie nicht bekannt sind vor der Zeit. In einigen Sprachen sind alle Variablen global oder standardm\u00e4\u00dfig global, w\u00e4hrend in den meisten modernen Sprachen Variablen einen begrenzten Bereich haben, im Allgemeinen einen lexikalischen Bereich, obwohl globale Variablen h\u00e4ufig verf\u00fcgbar sind, indem eine Variable auf der obersten Ebene des Programms deklariert wird. In anderen Sprachen existieren jedoch keine globalen Variablen. Dies sind im Allgemeinen modulare Programmiersprachen, die eine Modulstruktur erzwingen, oder klassenbasierte objektorientierte Programmiersprachen, die eine Klassenstruktur erzwingen.Interaktionsmechanismen mit globalen Variablen werden aufgerufen globale Umwelt (siehe auch globaler Staat) Mechanismen. Das globale Umgebungsparadigma steht im Gegensatz zum lokalen Umgebungsparadigma, bei dem alle Variablen lokal ohne gemeinsamen Speicher sind (und daher alle Interaktionen zur Nachrichten\u00fcbermittlung rekonduziert werden k\u00f6nnen).Globale Variablen werden h\u00e4ufig verwendet, um Informationen zwischen Codeabschnitten zu \u00fcbertragen, die keine Anrufer \/ Angerufene-Beziehung haben, wie z. B. gleichzeitige Threads und Signalhandler. Sprachen (einschlie\u00dflich C), in denen jede Datei einen impliziten Namespace definiert, beseitigen die meisten Probleme, die bei Sprachen mit einem globalen Namespace auftreten, obwohl einige Probleme m\u00f6glicherweise ohne ordnungsgem\u00e4\u00dfe Kapselung bestehen bleiben. Ohne ordnungsgem\u00e4\u00dfe Sperre (z. B. mit einem Mutex) ist Code mit globalen Variablen nur f\u00fcr schreibgesch\u00fctzte Werte im gesch\u00fctzten Speicher threadsicher. Table of ContentsUmgebungsvariablen[edit]Nur global und standardm\u00e4\u00dfig global[edit]Nach Sprache[edit]C und C ++[edit]Java[edit]PHP[edit]Andere Sprachen[edit]Siehe auch[edit]Verweise[edit]Umgebungsvariablen[edit]Umgebungsvariablen sind eine Funktion, die von einigen Betriebssystemen bereitgestellt wird. Innerhalb der Shell des Betriebssystems (ksh unter Unix, bash unter Linux, COMMAND.COM unter DOS und CMD.EXE unter Windows) sind sie eine Art Variable: In Unix und verwandten Systemen wird beispielsweise eine gew\u00f6hnliche Variable zu einer Umgebungsvariablen, wenn die export Schl\u00fcsselwort wird verwendet. Andere Programmcodes als Shells m\u00fcssen \u00fcber API-Aufrufe darauf zugreifen, zgetenv() und setenv().Sie sind lokal f\u00fcr den Prozess, in dem sie festgelegt wurden. Das hei\u00dft, wenn wir zwei Terminalfenster \u00f6ffnen (zwei verschiedene Prozesse, in denen die Shell ausgef\u00fchrt wird) und den Wert der Umgebungsvariablen in einem Fenster \u00e4ndern, wird diese \u00c4nderung von einem anderen Fenster nicht gesehen.Wenn ein untergeordneter Prozess erstellt wird, erbt er alle Umgebungsvariablen und ihre Werte vom \u00fcbergeordneten Prozess. Wenn ein Programm ein anderes Programm aufruft, erstellt es normalerweise zuerst einen untergeordneten Prozess durch Gabeln, dann passt das untergeordnete Element die Umgebung nach Bedarf an und schlie\u00dflich ersetzt sich das untergeordnete Programm durch das aufzurufende Programm. Untergeordnete Prozesse k\u00f6nnen daher keine Umgebungsvariablen verwenden, um mit ihren Kollegen zu kommunizieren, wodurch das Problem der Fernwirkung vermieden wird. Nur global und standardm\u00e4\u00dfig global[edit]Eine Reihe nicht strukturierter Sprachen wie (fr\u00fche Versionen von) BASIC, COBOL und Fortran I (1956) bieten nur globale Variablen. Fortran II (1958) f\u00fchrte Unterprogramme mit lokalen Variablen und das Schl\u00fcsselwort COMMON f\u00fcr den Zugriff auf globale Variablen ein. Die Verwendung von COMMON in FORTRAN wurde in FORTRAN 77 fortgesetzt.[1] und beeinflusste sp\u00e4tere Sprachen wie PL \/ SQL. Benannte GEMEINSAME Gruppen f\u00fcr Globals verhalten sich \u00e4hnlich wie strukturierte Namespaces.[2] Variablen sind in FORTH, Lua, Perl und den meisten Shells standardm\u00e4\u00dfig auch global.Nach Sprache[edit]C und C ++[edit]Die C-Sprache hat keine global Stichwort. Variablen, die au\u00dferhalb einer Funktion deklariert wurden, haben jedoch den “Dateibereich”, was bedeutet, dass sie in der Datei sichtbar sind. Mit Dateibereich deklarierte Variablen sind zwischen ihrer Deklaration und dem Ende der Kompilierungseinheit sichtbar (.c Datei) (sofern nicht durch ein gleichnamiges Objekt in einem n\u00e4heren Bereich, z. B. einer lokalen Variablen, beschattet); und sie haben implizit eine externe Verkn\u00fcpfung und sind somit nicht nur f\u00fcr die sichtbar .c Datei oder Kompilierungseinheit mit ihren Deklarationen, aber auch mit jeder anderen Kompilierungseinheit, die zum vollst\u00e4ndigen Programm verkn\u00fcpft ist. Eine externe Verkn\u00fcpfung reicht jedoch nicht aus, um eine solche Variable in anderen Dateien zu verwenden: Damit eine Kompilierungseinheit korrekt auf eine solche globale Variable zugreifen kann, muss sie ihren Typ kennen. Dies wird erreicht, indem die Variable in jeder Datei mit dem deklariert wird extern Stichwort. (Es wird sein erkl\u00e4rt in jeder Datei kann aber sein definiert in nur einem.) So. extern Deklarationen werden h\u00e4ufig in einer gemeinsam genutzten Header-Datei abgelegt, da es \u00fcblich ist, dass alle .c-Dateien in einem Projekt mindestens eine enthalten .h Datei: Die Standard-Header-Datei errno.h ist ein Beispiel daf\u00fcr errno Variable, auf die alle Module in einem Projekt zugreifen k\u00f6nnen. Wenn dieser globale Zugriffsmechanismus als problematisch eingestuft wird, kann er mithilfe von deaktiviert werden static Schl\u00fcsselwort, das eine Variable auf den Dateibereich beschr\u00e4nkt und versucht, sie mit zu importieren extern um einen Kompilierungs- (oder Verkn\u00fcpfungs-) Fehler auszul\u00f6sen.[3]Ein Beispiel f\u00fcr eine “globale” Variable in C:#include \/\/ This is the file-scope variable (with internal linkage), visible only in\/\/ this compilation unit.static int shared = 3;\/\/ This one has external linkage (not limited to this compilation unit).extern int over_shared;\/\/ Also internal linkage.int over_shared_too = 2;static void ChangeShared() { \/\/ Reference to the file-scope variable in a function. shared = 5;}static void LocalShadow() { \/\/ Local variable that will hide the global of the same name. int shared; \/\/ This will affect only the local variable and will have no effect on the \/\/ file-scope variable of the same name. shared = 1000;}static void ParamShadow(int shared) { \/\/ This will affect only the parameter and will have no effect on the file- \/\/ scope variable of the same name. shared = -shared;}int main() { \/\/ Reference to the file-scope variable. printf(\"%dn\", shared); ChangeShared(); printf(\"%dn\", shared); LocalShadow(); printf(\"%dn\", shared); ParamShadow(1); printf(\"%dn\", shared); return 0;}Da es sich bei der Variablen um eine externe Variable handelt, muss sie nicht als Parameter \u00fcbergeben werden, um sie in einer anderen Funktion als main zu verwenden. Es geh\u00f6rt zu jeder Funktion im Modul.Die Ausgabe wird sein:3555Java[edit]Einige Sprachen wie Java haben keine globalen Variablen. In Java sind alle Variablen, die keine lokalen Variablen sind, Felder einer Klasse. Daher liegen alle Variablen entweder im Bereich einer Klasse oder einer Methode. In Java existieren statische Felder (auch als Klassenvariablen bezeichnet) unabh\u00e4ngig von Instanzen der Klasse, und eine Kopie wird von allen Instanzen gemeinsam genutzt. Daher werden \u00f6ffentliche statische Felder aufgrund ihres \u00e4hnlichen “Freigabe” -Verhaltens f\u00fcr viele der gleichen Zwecke wie globale Variablen in anderen Sprachen verwendet:public class Global { public static int a;}PHP[edit]PHP hat eine global Schl\u00fcsselwort und eine Reihe ungew\u00f6hnlicher M\u00f6glichkeiten zur Verwendung globaler Variablen. Au\u00dferhalb von Funktionen deklarierte Variablen haben einen Dateibereich (der f\u00fcr die meisten Zwecke der breiteste Bereich ist). Sie sind jedoch nur innerhalb von Funktionen zug\u00e4nglich, wenn sie mit dem importiert wurden global Schl\u00fcsselwort (dh das Schl\u00fcsselwort Zugriffe globale Variablen nicht erkl\u00e4ren Sie).Einige vordefinierte Variablen, bekannt als Superglobale sind immer zug\u00e4nglich. Sie sind alle Arrays. Ein allgemeiner Zweck ist der $GLOBALS superglobal, das alle au\u00dferhalb des Funktionsumfangs definierten Variablen enth\u00e4lt. \u00c4nderungen an den Elementen \u00e4ndern die urspr\u00fcnglichen Variablen, und durch Erg\u00e4nzungen werden neue Variablen erstellt. Die Superglobalen $_POST und $_GET sind in der Webprogrammierung weit verbreitet.Andere Sprachen[edit]In Python und MATLAB kann eine globale Variable \u00fcberall mit dem deklariert werden global Stichwort.[4][5]Rubys globale Variablen werden durch ein ‘$Siegel. Beispielsweise gibt es eine Reihe vordefinierter Globals $$ ist die aktuelle Prozess-ID.Siehe auch[edit]Verweise[edit]"},{"@context":"http:\/\/schema.org\/","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki17\/#breadcrumbitem","name":"Enzyklop\u00e4die"}},{"@type":"ListItem","position":2,"item":{"@id":"https:\/\/wiki.edu.vn\/wiki17\/2021\/01\/27\/globale-variable-wikipedia\/#breadcrumbitem","name":"Globale Variable – Wikipedia"}}]}]