0 Daumen
33 Aufrufe

Frage:

Wieder Refresh mit C?
Deklaration( ist schon klar).

Es geht um die Definition:Kann ich sagen Definition ist einafch ---> Der Prozess an sich, also der Reservierung einen Speicherplatz für eine Variable in RAm, ist diese gemeint mit Definition? und damit Reservierung wir NUR EIN MAL Speicherplatz? Stimmt so?

blob.png

Text erkannt:

3.1 Variablen
Eine Variable ist im Grunde genommen nichts anderes als eine Adresse im Hauptspeicher. Dort legen Sie die Daten ab und greifen später, wenn Sie den Inhalt wieder benötigen, darauf zurück.

Um programmtechnisch ohne kryptische Adressangaben auf diese Adressen im Arbeitsspeicher zurückgreifen zu können, benötigen Sie einen eindeutigen Namen (Bezeichner) dafür. Der Compiler wandelt diesen später in eine Adresse um. Natürlich belegt jede dieser Variablen einen gewissen Speicherplatz. Wie viel das ist, hängt davon ab, welchen Datentyp Sie verwendet haben, wie viel Platz dieser auf einem bestimmten System beansprucht und mit welchen Werten er implementiert wurde. Der Standard schreibt hier nur eine Mindestgröße für die einzelnen Typen vor.
3.2 Deklaration und Definition
Bevor Sie eine Variable verwenden können, müssen Sie dem Compiler den Datentyp und den Bezeichner mitteilen. Dieser Vorgang wird als Deklaration bezeichnet. Was ein gültiger Bezeichner ist, haben Sie bereits in \( \mathrm{Ab} \) schnitt 2.4.1 erfahren. Die Datentypen lernen Sie in diesem Kapitel kennen.

blob.png

Text erkannt:

Damit eine Variable auch verwendet werden kann, muss Speicherplatz dafur reserviert werden. Für das konkrete Speicherobjekt der Variablen im Programm bzw. im ausfŭhrbaren Code wird die Definition vereinbart,
Eine Deklaration darf mehrmals im Code vorkommen, eine Definition hingegen nur einmal im Programm. Wenn Sie beispielsweise eine Ganzzahlvariable ivar wie folgt vereinbaren:
int ivar;
deklarieren Sie eine Variable vom Datentyp int mit dem Bezeichner ivar und definieren sie auch gleichzeitig. Somit ist es in diesem Beispiel nicht falsch zu sagen, dass eine Definition gleichzeitig auch eine Deklaration ist.
Mehrere Bezeichner desselben Datentyps lassen sich auch in einer Zeile, getrennt durch Kommata, vereinbaren:
int ivar1, ivar2, fivar3;
Wenn Sie eine Variable nur deklarieren wollen, mūssen Sie das Schlūssel. wort extern davorsetzen:
I/ datei-01.c extern int ivar; \( / / \) Deklaration
Mit diesem Schlüsselwort bestimmen Sie, dass kein Speicherplatz für ivar reserviert wird und dass Sie die Definition dieser Variablen (gewōhnlich) in einem anderen Modul vornehmen. Die Definition und Speicherplatzreservierung erfolgen jetzt beispielsweise in einem anderen Quelltextmodul:
\( / / \) datel-02.c int fivar;
Wozu überhaupt zwischen Deklaration und Definition unterscheiden? An dieser Stelle mag thnen der Unterschied zwischen einer Deklaration und einer Definition noch etwas trivial erscheinen. Aber wenn Sie ihren Quellcode auf mehrere Quelltextmodule aufteilen, ist es essenziell, diesen Unterschied zu kennen und Deklarationen von Definitionen von. einander trennen zu kŏnnen.




Code:

von

1 Antwort

0 Daumen
 
Beste Antwort
Reservierung einen Speicherplatz für eine Variable in RAm

Das ist Definition.

von 3,5 k

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community