Seite 1 von 1

c:type VS c:var

Verfasst: So Nov 30, 2008 9:33 pm
von Dirty Oerti
Tag :)

Mal eine kleine Anmerkung am Rande:
Wie soll das iwie auseinander gehalten werden? Sollen diese beiden Bereiche zusammengeführt werden?
Was soll ich damit anfangen?^^

http://tutorial.proggen.org/doku.php?id=c:type:start
VS.
http://tutorial.proggen.org/doku.php?id=c:var:start

MfG
Daniel

Re: c:type VS c:var

Verfasst: So Nov 30, 2008 10:45 pm
von Xin
In C:Type kommt alles rein, was notwendig ist, um Daten zu beschreiben. Welche Typen gibt es, wie macht man eigene? Es geht aber nie um konkrete Daten, es geht nie um Variablen. Wie deklariere ich einen Datentyp? Arrays, Strukturen...
C:Var baut auf dem Wissen auf, hier geht es allerdings nicht darum, Daten zu beschreiben, sondern konkrete Daten zu benutzen. Also wie deklare ich eine Variable? Wie mehrere? Wie initialisiere ich eine Variable und wie initialisiere ich mehrere, Arrays, Strukturen...

Re: c:type VS c:var

Verfasst: So Nov 30, 2008 11:30 pm
von Dirty Oerti
Hm...im jetzigen Zustand ist es aber gerade andersherum...so kommt es mir zumindest vor:

Type beschreibt (wird beschreiben) Integers, Chars, etc...
Vars gibt grundsätzliches zur Typdefinition, außerdem steht dort, was die Schlüsselwörter bedeuten (ich wusste doch, dass ich schonmal was über static geschrieben hab^^)

Re: c:type VS c:var

Verfasst: Mo Dez 01, 2008 1:03 am
von Xin
Dirty Oerti hat geschrieben:Hm...im jetzigen Zustand ist es aber gerade andersherum...so kommt es mir zumindest vor:

Type beschreibt (wird beschreiben) Integers, Chars, etc...
Integers und Chars sind ja auch Typen und keine Variabeln.

Variablen werden ja erst draus, wenn man ein Symbol hinzufügt, das vom Typ Integer oder Char ist.
Dirty Oerti hat geschrieben:Vars gibt grundsätzliches zur Typdefinition, außerdem steht dort, was die Schlüsselwörter bedeuten (ich wusste doch, dass ich schonmal was über static geschrieben hab^^)
Die Schlüsselwörter sollten in c:type stehen, static hingegen sollte weder in type noch in var stehen... das muss woanders hin, weil es weder ein Typ, noch eine Variable ist.

Die oberen Kapitel von C:var sind gut, die besonderen Datentypen müssen halt noch sauber aufgetrennt werden, sobald sie mal geschrieben werden.

Re: c:type VS c:var

Verfasst: Mo Dez 01, 2008 12:08 pm
von Dirty Oerti
So ganz verstehe ich deinen Aufbau nicht ganz ;)
Ich erkenne den Sinn dahinter nicht so wirklich.

Static und Co würde ich nachdem wie ich verstehe, wie du das unterteilen willst in Var lassen und die roten Links in Type dazu dann rausnehmen. Es sind ja spezielle Variablendefinitionen.

Re: c:type VS c:var

Verfasst: Mo Dez 01, 2008 1:33 pm
von Xin
Dirty Oerti hat geschrieben:So ganz verstehe ich deinen Aufbau nicht ganz ;)
Ich erkenne den Sinn dahinter nicht so wirklich.
Das liegt vermutlich daran, dass Du in menschlicher Sprache denkst und die menschliche Sprache unterscheidet einige Dinge nicht so deutlich, wie es eine Programmiersprache tut.

Das Ei ist ein Ei.

Für einen Menschen ist das tivial, dahinter steckt allerdings eine Information, die man dem Satz erstmal so nicht ansieht. Das erste "Das Ei" ist nämlich etwas ganz anderes als das zweite "ein Ei". Das erste "Ei" in dem Satz kannst Du essen, das zweite "Ei" aber nicht. Dieser Satz enthält eine Klassifizierung eines konkreten Objektes.
Das erste Ei ist nämlich eine Instanz von einem Ei, während das zweite Ei die Objektklassifizierung (==Datentyp) darstellt.
In C/C++ ist das folgendes:

Code: Alles auswählen

Ei EiInstanz;
Deutlicher wird es, wenn die Aussage nicht ganz so trivial ist, sondern eine Unterscheidung zu einer abstrakten Oberklasse/Datentyp darstellt:

Das Ei ist ein Nahrungsmittel.

Kein Rezept arbeitet mit abstrakten Datentypen: Nehmen Sie ein Nahrungmittel, hauen es in die Pfanne und rühren um. Nach 5 Minuten ist ihr Rührnahrungsmittel fertig - guten Appetit.
Dirty Oerti hat geschrieben:Static und Co würde ich nachdem wie ich verstehe, wie du das unterteilen willst in Var lassen und die roten Links in Type dazu dann rausnehmen. Es sind ja spezielle Variablendefinitionen.
'static' hat ein Alleinstellungsmerkmal, daher verstehe ich "und co" nicht.

Static ist ein Attribut, dass weder den Datentyp, noch die Existenz der Variablen betrifft und daher eigentlich nicht nach c:type passt. In c:var hat es seine Berechtigung ebenso wie in c:func. static ist ein Attribut, dass Einfluss auf die Position im Speicher, bzw. die Zugreifbarkeit macht und daher würde ich es hier fast eine c:attr bevorzugen, die später für C++ mit public, protected und private aufgefüllt wird.