PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : C lernen /* Erste Probleme */



Elexarie
17.05.2010, 00:31
Hallo Community,

endlich, mit einem ZIel vor Augen, beginne ich nun effektiv C zu lernen &' hatte früher auch schon einige Anläufe, aber bin auch damals immer an diesen "Variablen &' Konstanten halb gestorben. Ich kriege es einfach nicht in mein Kopf hinein, was www.tutorials.at (http://tutorials.at/c/02-variablen-konstanten-zuweisung.html) mir da verklickern möchte. Gibt es hier jemanden, der mir das in simpel einmal erklären kann, wofür ich es brauche &' wie wichtig es ist und stellt sich hier jemand zur Verfügung, dass ich ihn mit Fragen löchern kann?

Haben hier Menschen (darüberhinaus) etwas mit Reverse Engineering zu tun? - Dahin würde ich ganz gerne.

Mit freundlichen Grüßen,

Elexarie

kazuya
17.05.2010, 00:37
Variablen? Variablen sind in der Programmierung das A und O würde ich mal sagen.
Das kannst du ganz gut mit Mathe vergleichen.. :D
6 + x = 10, was ist da wohl x? Ja, 4. Du kannst jetz aber auch z.B. ein Programm schreiben, das dein eingegebenes Wort nur in Großbuchstaben ausgibt. Dazu muss dein Wort auch in ne Variable gespeichert werden und dann wird die Variable ausgegeben. Je nach dem welches Wort du eingegeben hast, wird auch eins Ausgegeben.
Am besten codest du einfach darauf los, du wirst es schon verstehen dann..

c2x
17.05.2010, 00:38
Frag mal BlackBerry oder Cheese, für die gaaaaaanz schweren Fälle ;)

Btw: Schau mal hier (http://84.23.68.152/main/node/15), dort gibt´s in meiner Linksammlung ein Buch zu C (von Galileo Computing), wobei Variablen und Konstanten, egal in welcher Programmiersprache immer das gleiche sind.

Generell ist eine Variable ein Datentyp mit einem bestimmten Wert. Eine Konstante ist eine Variable mit einem festen, nicht variierbaren Wert.

Shini
17.05.2010, 00:40
fals du noch passende lektüre suchst:
http://free-hack.com/ansi-c_c_c/31733-c_c_b%C3%BCcher_tutorials_sammelthread.html

mfg

kazuya
17.05.2010, 00:42
Ich empfehl dir auf jeden Fall mal "C von A bis Z" gibts als openbook, free und legal! :O

c2x
17.05.2010, 00:45
Galileo Computing :: C von A bis Z (http://openbook.galileocomputing.de/c_von_a_bis_z/)

Elexarie
17.05.2010, 00:50
Galileo Computing :: C von A bis Z (http://openbook.galileocomputing.de/c_von_a_bis_z/)

Danach vorgehen?

kazuya
17.05.2010, 00:57
Jo habe das als echtes Buch gekauft sogar, also lohnt sich echt, das buch is top!

Elexarie
17.05.2010, 01:07
Jo habe das als echtes Buch gekauft sogar, also lohnt sich echt, das buch is top!

Kann ich dich bei ICQ oder so adden als ständige Ansprechperson?

Schreib sie dann per PM.

Werde mich morgen damit befassen.

compufreak
17.05.2010, 04:00
Warum erklärt Ihr Ihm das nicht einfach, statt auf irgendwelche Wälzer zu verweisen?
Wisst Ihr es selbst nicht besser? Warum helft Ihr dann... , scheint ja nicht viel gebracht zu haben euch die dicken Wälzer zu kaufen, wenn Ihr nichtmal so einfaches Thema für Anfänger anschaulich erklären könnt.
Traurig...

@Elexarie (http://free-hack.com/member.php?u=53996)

Variablen und Konstanten for Dummys:

Variablen sind Platzhalter für Werte, können Zahlen oder Zeichenketten sein.
Stell dir vor jede Variable ist ein Topf, in jeden Topf kannst du Murmeln packen.

Deinen ersten Topf nennst du zb. Topf1, einen weiteren Topf2.


int Topf1;
int Topf2;Das wären Zwei Variablen von Datentyp Integer, der erste trägt den Namen Topf1, der zweite Topf2.

In Topf1 packst du jetzt 3 Murmeln, in den zweiten 6 Murmeln:


Topf1 = 3;
Topf2 = 6;
Du möchtest jetzt beide Töpfe zusammenpacken, deine alten Töpfe sind dann zwar nicht weg, du erhälst aber einen dritten Topf den du Topf3 nennst:


int Topf3 = Topf1 + Topf2;Im Topf3 befinden sich jetzt also die Anzahl der Murmeln von Topf1 und Topf2.
Du kannst dir jetzt mal die Anzahl aller Murmeln in den Töpfen anzeigen lassen:


printf("%d\n", Topf1);
printf("%d\n", Topf2);
printf("%d\n", Topf3);


Zu Konstanten:

Da ja alle deine Töpfe keinen Deckel haben, könntest du ja jederzeit noch Murmeln hinzupacken:


Topf1++++ sagt einfach nur aus, das eine Murmel zum Topf addiert wird.
Gibst du das ganze jetzt aus,


printf("%d\n", Topf1);
wirst du feststellen, das sich im Topf1 jetzt 4 Murmeln statt 3 befinden.
Um das zu verhindern gibt es sogenannte Konstanten. Der Wert ist also nicht mehr veränderbar.
Beim Beispiel mit dem Murmeln würde das also bedeuten, das du deinen Topf mit einem Deckel verschließt. Es können weder Murmeln raus noch Murmeln rein.

Eine Konstante Variable erstellst du wie eine normale Variable, also Int Topf1 = 3; nur mit dem Zusatz "const" davor.


const int Topf1 = 3;würdest du jetzt versuchen in diesen Topf eine weitere Murmel zu packen:


Topf1++
Wirst du einen Compiler Fehler bekommen, da die Murmel Aufgrund des Deckels daneben gefallen ist.


Liebe Grüße

Compufreak

ps: Du kannst mir auch deine ICQ Addy per PM schicken. Ich adde dich dann und helfe wann immer Ich Zeit habe.
Mit reverse engineering beschäftige Ich mich auch zurzeit.

AlterHacker
17.05.2010, 07:48
Und dann gibt es noch die Zeiger:

& gibt die Addresse von der Variabeln zurück, wo sie im Speicher ist.
Das Gegenstück ist * -> Liest den Wert @ der Adresse.
* wird auch benutzt um einen Zeiger zu deklarieren.
Bsp:


int b = 0;
int * a = 0; // <- * wird hier benutzt, um a als zeiger auf einen INT zu deklarieren
//a = ein nullpointer, jede *a - operation würde zu einem Absturz führen.
a = &b; //a Zeigt jetzt auf b
*a++; // der wert, auf den a zeigt, wird um eins Erhöht ----> Quasi gleich b++;

c4pone
17.05.2010, 08:56
nicht gerade sinnvoll mit zeigern anzufangen wenn er schon bei einfachen variablen hängen bleibt