diff --git a/TE2/.settings/language.settings.xml b/TE2/.settings/language.settings.xml index dd1ec6e..90c69b5 100644 --- a/TE2/.settings/language.settings.xml +++ b/TE2/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Aliasing/.settings/language.settings.xml b/TE2/Aliasing/.settings/language.settings.xml index 2bd2866..f958b2d 100644 --- a/TE2/Aliasing/.settings/language.settings.xml +++ b/TE2/Aliasing/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Array/.settings/language.settings.xml b/TE2/Array/.settings/language.settings.xml index c800364..1344512 100644 --- a/TE2/Array/.settings/language.settings.xml +++ b/TE2/Array/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Array/Array.cpp b/TE2/Array/Array.cpp index 302525b..af6a341 100644 --- a/TE2/Array/Array.cpp +++ b/TE2/Array/Array.cpp @@ -1,61 +1,60 @@ -#include -#include - -using namespace std; -/* - * - keine Notwendigkeit für das Schlüsselwort new bei der Initialisierung eines Arrays, - * - (sizeof) Methode: gibt die Größe des gesamten Arrays in Bytes, - * jedes index hat 4Byte - * - * . Array Methode: - * 1. arrayName.front(); gibt das erste Wert - * 2. arrayName.back(); gibt das letzte Wert - * 3. arrayName.at(index); gibt den Wert an Index - * 4. arrayName.size(); gibt die Länge des Arrays - * 5. arrayName.empty(); gibt true, wenn array leer ist oder false fall si nicht - * - * - */ - -int main(){ - // Array Klasss in C++: - array point = {1,2,34,5,5}; - - - // keine Notwendigkeit für das Schlüsselwort "new" - int arr[5] = {1,2,4,3,4}; - - - // das geht nicht - /*int arr[5]; - * arr = {1,2,3,4,5} //Fehler - * - */ - - // die länge des Arrays - cout<< sizeof(arr) / sizeof(arr[0])<> arr[i] ; - //size_t stellt sicher, dass der Index i immer nicht-negativ ist, - //da Array-Indizes nie negativ sein können. - } - - // Array mit forschleife ausgeben: - for (int i = 0; i < 5; i++) { - cout << arr[i] << endl; - } - - // char Array: - // Deklaration und Initialisierung eines Zeichen-Arrays - // keine Notwendigkeit Forloops - //'\0' zeigt das Ende der Zeichenkette an und ist in C++ bei Zeichen-Arrays erforderlich, um sie als gültige Strings zu behandeln. - char str[] = { 'H', 'e', 'l', 'l', 'o', '\0' }; // Manuelle Initialisierung mit '\0' - cout << "Zeichen-Array: " << str < +#include + +using namespace std; +/* + * - keine Notwendigkeit für das Schlüsselwort new bei der Initialisierung eines Arrays, + * - (sizeof) Methode: gibt die Größe des gesamten Arrays in Bytes, + * jedes index hat 4Byte + * + * . Array Methode: + * 1. arrayName.front(); gibt das erste Wert + * 2. arrayName.back(); gibt das letzte Wert + * 3. arrayName.at(index); gibt den Wert an Index + * 4. arrayName.size(); gibt die Länge des Arrays + * 5. arrayName.empty(); gibt true, wenn array leer ist oder false fall si nicht + * + * + */ + +int main(){ + + + + // keine Notwendigkeit für das Schlüsselwort "new" + int arr[5] = {1,2,4,3,4}; + + + // das geht nicht + /*int arr[5]; + * arr = {1,2,3,4,5} //Fehler + * + */ + + // die länge des Arrays + cout<< sizeof(arr) / sizeof(arr[0])<> arr[i] ; + //size_t stellt sicher, dass der Index i immer nicht-negativ ist, + //da Array-Indizes nie negativ sein können. + } + + // Array mit forschleife ausgeben: + for (int i = 0; i < 5; i++) { + cout << arr[i] << endl; + } + + // char Array: + // Deklaration und Initialisierung eines Zeichen-Arrays + // keine Notwendigkeit Forloops + //'\0' zeigt das Ende der Zeichenkette an und ist in C++ bei Zeichen-Arrays erforderlich, um sie als gültige Strings zu behandeln. + char str[] = { 'H', 'e', 'l', 'l', 'o', '\0' }; // Manuelle Initialisierung mit '\0' + cout << "Zeichen-Array: " << str < - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/CallByReferencevsCall ByValue/.settings/language.settings.xml b/TE2/CallByReferencevsCall ByValue/.settings/language.settings.xml index 4febdeb..678bfe9 100644 --- a/TE2/CallByReferencevsCall ByValue/.settings/language.settings.xml +++ b/TE2/CallByReferencevsCall ByValue/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/CallByReferencevsCall ByValue/CallByReferencevsCall ByValue.cpp b/TE2/CallByReferencevsCall ByValue/CallByReferencevsCall ByValue.cpp index 26378cf..d260cb5 100644 --- a/TE2/CallByReferencevsCall ByValue/CallByReferencevsCall ByValue.cpp +++ b/TE2/CallByReferencevsCall ByValue/CallByReferencevsCall ByValue.cpp @@ -1,59 +1,59 @@ -#include -using namespace std; - -/* (Call By Reference vs Call By Value)? - * - Call By Value: - * * wird der Wert eines Arguments in die Funktion kopiert. (siehe Beispiel) - * Das bedeutet, dass Änderungen, die innerhalb der Funktion an dem Parameter vorgenommen werden, keine Auswirkungen auf das Original haben. - * - * - Call By Reference: - * * wird durch die Verwendung von Referenzen (&) oder Zeigern (*) möglich. - * Änderungen am Parameter wirken sich direkt auf die ursprüngliche Variable aus. - * - * * Wichtige Unterschiede: - * 1. Referenzen (int&): - * - Funktioniert als ein Alias für die ursprüngliche Variable. Die - * Funktion erhält direkten Zugriff auf die Variable, ohne dass - * die Adresse explizit übergeben werden muss. - * Kein &-Symbol beim Funktionsaufruf notwendig. - * - * 2. Zeiger (int*): - * - Ein Zeiger speichert die Adresse der Variablen. Damit die - * Funktion weiß, wo die Variable im Speicher steht, muss die Adresse übergeben werden. - * & ist beim Funktionsaufruf notwendig, da du die Adresse übergeben musst. - */ - -int CallByValue(int x) { - return x++; // Call by Value: Der Wert wird inkrementiert, aber es hat keine Auswirkung auf das Original -} - -int CallByReference(int &x2) { - return x2++; // Call by Reference: Inkrementiert den Wert direkt, der Referenzierte Wert ändert sich -} - -int CallByZeigern(int *x3) { - return (*x3)++; // Call by Pointer: Dereferenziert den Zeiger und inkrementiert den Wert, auf den der Zeiger zeigt -} - -int main(){ - // Call By Value Beispiel: - int x = 4; - CallByValue(x); - cout << "X1 (Call by Value): " << x << endl; // Ausgabe = 4, da der Wert nur in der Funktion geändert wird, nicht im Original. - - // Call By Reference: - int x2 = 4; - CallByReference(x2); - cout << "X2 (Call by Reference): " << x2 << endl; // Ausgabe = 5, der Wert wurde direkt geändert. - - // Call By Zeiger: - int x3 = 4; - CallByZeigern(&x3); // Übergebe die Adresse von x3 - cout << "X3 (Call by Pointer): " << x3 << endl; // Ausgabe = 5, der Wert wurde durch den Zeiger geändert. - - return 0; -} - - - - +#include +using namespace std; + +/* (Call By Reference vs Call By Value)? + * - Call By Value: + * * wird der Wert eines Arguments in die Funktion kopiert. (siehe Beispiel) + * Das bedeutet, dass Änderungen, die innerhalb der Funktion an dem Parameter vorgenommen werden, keine Auswirkungen auf das Original haben. + * + * - Call By Reference: + * * wird durch die Verwendung von Referenzen (&) oder Zeigern (*) möglich. + * Änderungen am Parameter wirken sich direkt auf die ursprüngliche Variable aus. + * + * * Wichtige Unterschiede: + * 1. Referenzen (int&): + * - Funktioniert als ein Alias für die ursprüngliche Variable. Die + * Funktion erhält direkten Zugriff auf die Variable, ohne dass + * die Adresse explizit übergeben werden muss. + * Kein &-Symbol beim Funktionsaufruf notwendig. + * + * 2. Zeiger (int*): + * - Ein Zeiger speichert die Adresse der Variablen. Damit die + * Funktion weiß, wo die Variable im Speicher steht, muss die Adresse übergeben werden. + * & ist beim Funktionsaufruf notwendig, da du die Adresse übergeben musst. + */ + +int CallByValue(int x) { + return x++; // Call by Value: Der Wert wird inkrementiert, aber es hat keine Auswirkung auf das Original +} + +int CallByReference(int &x2) { + return x2++; // Call by Reference: Inkrementiert den Wert direkt, der Referenzierte Wert ändert sich +} + +int CallByZeigern(int *x3) { + return (*x3)++; // Call by Pointer: Dereferenziert den Zeiger und inkrementiert den Wert, auf den der Zeiger zeigt +} + +int main(){ + // Call By Value Beispiel: + int x = 4; + CallByValue(x); + cout << "X1 (Call by Value): " << x << endl; // Ausgabe = 4, da der Wert nur in der Funktion geändert wird, nicht im Original. + + // Call By Reference: + int x2 = 4; + CallByReference(x2); + cout << "X2 (Call by Reference): " << x2 << endl; // Ausgabe = 5, der Wert wurde direkt geändert. + + // Call By Zeiger: + int x3 = 4; + CallByZeigern(&x3); // Übergebe die Adresse von x3 + cout << "X3 (Call by Pointer): " << x3 << endl; // Ausgabe = 5, der Wert wurde durch den Zeiger geändert. + + return 0; +} + + + + diff --git a/TE2/Casting/.settings/language.settings.xml b/TE2/Casting/.settings/language.settings.xml index bfe76c1..e2b4355 100644 --- a/TE2/Casting/.settings/language.settings.xml +++ b/TE2/Casting/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/ConstantVariable/.settings/language.settings.xml b/TE2/ConstantVariable/.settings/language.settings.xml index ab76abc..d492b21 100644 --- a/TE2/ConstantVariable/.settings/language.settings.xml +++ b/TE2/ConstantVariable/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Einführung/.settings/language.settings.xml b/TE2/Einführung/.settings/language.settings.xml index 2c99990..41aacb8 100644 --- a/TE2/Einführung/.settings/language.settings.xml +++ b/TE2/Einführung/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Eingabe/.settings/language.settings.xml b/TE2/Eingabe/.settings/language.settings.xml index 4a50217..8cdf5f1 100644 --- a/TE2/Eingabe/.settings/language.settings.xml +++ b/TE2/Eingabe/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/EscapeSequence/.settings/language.settings.xml b/TE2/EscapeSequence/.settings/language.settings.xml index 9cc707d..6e4216a 100644 --- a/TE2/EscapeSequence/.settings/language.settings.xml +++ b/TE2/EscapeSequence/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/LocalvsGlobal/.settings/language.settings.xml b/TE2/LocalvsGlobal/.settings/language.settings.xml index a788006..8d1a782 100644 --- a/TE2/LocalvsGlobal/.settings/language.settings.xml +++ b/TE2/LocalvsGlobal/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Methoden/.settings/language.settings.xml b/TE2/Methoden/.settings/language.settings.xml index c697052..0c0d918 100644 --- a/TE2/Methoden/.settings/language.settings.xml +++ b/TE2/Methoden/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Pointer/.cproject b/TE2/Pointer/.cproject index efd8472..ec3b550 100644 --- a/TE2/Pointer/.cproject +++ b/TE2/Pointer/.cproject @@ -1,111 +1,113 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Pointer/.settings/language.settings.xml b/TE2/Pointer/.settings/language.settings.xml index 3c9787e..33252c5 100644 --- a/TE2/Pointer/.settings/language.settings.xml +++ b/TE2/Pointer/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Random/.settings/language.settings.xml b/TE2/Random/.settings/language.settings.xml index a585355..24cc4b3 100644 --- a/TE2/Random/.settings/language.settings.xml +++ b/TE2/Random/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Struktur(struct)/.settings/language.settings.xml b/TE2/Struktur(struct)/.settings/language.settings.xml index 4028d85..b641c17 100644 --- a/TE2/Struktur(struct)/.settings/language.settings.xml +++ b/TE2/Struktur(struct)/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Variables vs Data type/.project b/TE2/Variables vs Data type/.project index 7f746f8..0668622 100644 --- a/TE2/Variables vs Data type/.project +++ b/TE2/Variables vs Data type/.project @@ -1,27 +1,27 @@ - - - VariablesvsData type - - - - - - org.eclipse.cdt.managedbuilder.core.genmakebuilder - clean,full,incremental, - - - - - org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder - full,incremental, - - - - - - org.eclipse.cdt.core.cnature - org.eclipse.cdt.core.ccnature - org.eclipse.cdt.managedbuilder.core.managedBuildNature - org.eclipse.cdt.managedbuilder.core.ScannerConfigNature - - + + + VariablesvsData type + + + + + + org.eclipse.cdt.managedbuilder.core.genmakebuilder + clean,full,incremental, + + + + + org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder + full,incremental, + + + + + + org.eclipse.cdt.core.cnature + org.eclipse.cdt.core.ccnature + org.eclipse.cdt.managedbuilder.core.managedBuildNature + org.eclipse.cdt.managedbuilder.core.ScannerConfigNature + + diff --git a/TE2/Verzweigungen/.settings/language.settings.xml b/TE2/Verzweigungen/.settings/language.settings.xml index ab3002d..1371a60 100644 --- a/TE2/Verzweigungen/.settings/language.settings.xml +++ b/TE2/Verzweigungen/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/TE2/Zeichenkette(String)/.settings/language.settings.xml b/TE2/Zeichenkette(String)/.settings/language.settings.xml index d1048e0..e4618ef 100644 --- a/TE2/Zeichenkette(String)/.settings/language.settings.xml +++ b/TE2/Zeichenkette(String)/.settings/language.settings.xml @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file