12 Stimmen

Was ist der Unterschied zwischen Zeigern und globalen Variablen in C?

Ich lese gerade Das C-Buch Ich glaube zwar, dass ich das Konzept von Zeigern im Allgemeinen verstehe, aber eine Sache fällt mir auf: Es scheint, als würde das, worauf der Zeiger zeigt, zu einer globalen Variablen verallgemeinert (z. B. die Möglichkeit, Zeiger zu verwenden, um Werte von void Funktionen), was natürlich alle damit verbundenen Gefahren mit sich bringt, nehme ich an.

Abgesehen von der Tatsache, dass ein Zeiger auf eine bestimmte Variable oder einen Index in einem Array verweist, was でございます den Unterschied zwischen einem Zeiger und einer globalen Variablen?

0voto

xanadont Punkte 7355

Völlig unterschiedliche Konzepte. Sie können Zeiger sowohl auf globale als auch auf lokale Variablen haben. Es gibt nichts, was die beiden miteinander verbindet.

Außerdem können Sie aus einer Funktion heraus natürlich einen Zeiger auf eine Variable zurückgeben, die innerhalb dieser Funktion skaliert ist. Aber das ist eine schlechte Idee, da die Variable auf dem Stack der Funktion existierte und dieser nun weg ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X