Stack und Heap -Verwendung in c
das Gedächtnis effektiv in der C -Programmierung von entscheidender Bedeutung. Bei der Feststellung, wo Variablen gespeichert werden sollen, muss man zwischen dem Stack und dem Heap entscheiden. Der Schlüsselunterschied liegt in der Lebensdauer von Variablen.
Stack:
speichert lokale Variablen in einer Funktion, die nur innerhalb dieser Funktion zugänglich ist. Diese Variablen werden nach Funktionen automatisch zerstört.
a und b werden auf dem Stapel gespeichert, weil sie lokal zu foo () sind ().
pointertob weist auf ein stapelalloziertes Objekt auf. foo ().versuchen, Pointertob zurückzugeben, kann zu einem Absturz führen, da das Stapel-zu-zu-zu-Object-Objekt zerstört wird. zugrunde liegende Maschine. "Heap" und "Stack" sind Compiler -Erfindungen, und der Speicher des Computers ist einfach eine Reihe von Adressen. Durch die Untersuchung von Konzepten wie den Anrufstack und die Call -Convention kann man verstehen, wie die Maschine Funktionen ausführt und Speicher verwaltet.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3