Präfixoperatoren: Unterschied zwischen den Versionen

Aus C und Assembler mit Raspberry
Die Seite wurde neu angelegt: „== Präfixoperatoren == Präfixoperatoren sind Operatoren, die vor ihren Operanden stehen und verschiedene Arten von Operationen durchführen können. In der C-Programmierung, und somit auch im Kontext des GNU C Compilers (GCC), gibt es mehrere Präfixoperatoren, die eine wichtige Rolle spielen. Hier sind einige der wichtigsten Präfixoperatoren, die in C verwendet werden: === Inkrement (++) und Dekrement (--) === Inkrement (++): Erhöht den Wert einer V…“
 
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 1: Zeile 1:
== Präfixoperatoren ==
Präfixoperatoren sind Operatoren, die vor ihren Operanden stehen und verschiedene Arten von Operationen durchführen können. In der C-Programmierung, und somit auch im Kontext des GNU C Compilers (GCC), gibt es mehrere Präfixoperatoren, die eine wichtige Rolle spielen. Hier sind einige der wichtigsten Präfixoperatoren, die in C verwendet werden:
Präfixoperatoren sind Operatoren, die vor ihren Operanden stehen und verschiedene Arten von Operationen durchführen können. In der C-Programmierung, und somit auch im Kontext des GNU C Compilers (GCC), gibt es mehrere Präfixoperatoren, die eine wichtige Rolle spielen. Hier sind einige der wichtigsten Präfixoperatoren, die in C verwendet werden:


=== Inkrement (++) und Dekrement (--) ===
== Inkrement (++) und Dekrement (--) ==
Inkrement (++): Erhöht den Wert einer Variablen um 1.
Inkrement (++): Erhöht den Wert einer Variablen um 1.
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 13: Zeile 12:
--b;  // b ist jetzt 4
--b;  // b ist jetzt 4
</syntaxhighlight>
</syntaxhighlight>
=== Dereferenzierungsoperator (*) ===
== Dereferenzierungsoperator (*) ==
Dereferenzierungsoperator (*): Wird verwendet, um auf den Wert zuzugreifen, auf den ein Zeiger zeigt.
Dereferenzierungsoperator (*): Wird verwendet, um auf den Wert zuzugreifen, auf den ein Zeiger zeigt.
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 20: Zeile 19:
int y = *ptr;  // y ist jetzt 10
int y = *ptr;  // y ist jetzt 10
</syntaxhighlight>
</syntaxhighlight>
=== Adressoperator (&) ===
== Adressoperator (&) ==
Adressoperator (&): Gibt die Adresse einer Variablen zurück.
Adressoperator (&): Gibt die Adresse einer Variablen zurück.
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 26: Zeile 25:
int *ptr = &z;  // ptr enthält die Adresse von z
int *ptr = &z;  // ptr enthält die Adresse von z
</syntaxhighlight>
</syntaxhighlight>
=== Logisches Nicht (!) ===
== Logisches Nicht (!) ==
Logisches Nicht (!): Negiert einen logischen Wert. Wenn der Operand wahr ist, wird er falsch und umgekehrt.
Logisches Nicht (!): Negiert einen logischen Wert. Wenn der Operand wahr ist, wird er falsch und umgekehrt.
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 34: Zeile 33:
}
}
</syntaxhighlight>
</syntaxhighlight>
=== Bitweises Nicht (~) ===
== Bitweises Nicht (~) ==
Bitweises Nicht (~): Invertiert alle Bits eines Wertes.
Bitweises Nicht (~): Invertiert alle Bits eines Wertes.
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 40: Zeile 39:
unsigned int result = ~num; // Binär: 0101 (in 4-Bit-Darstellung)
unsigned int result = ~num; // Binär: 0101 (in 4-Bit-Darstellung)
</syntaxhighlight>
</syntaxhighlight>
=== Vorzeichenwechsel (-) ===
== Vorzeichenwechsel (-) ==
Vorzeichenwechsel (-): Ändert das Vorzeichen eines Wertes.
Vorzeichenwechsel (-): Ändert das Vorzeichen eines Wertes.
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 46: Zeile 45:
int negative = -positive;  // negative ist jetzt -5
int negative = -positive;  // negative ist jetzt -5
</syntaxhighlight>
</syntaxhighlight>
=== Größe des Operators (sizeof) ===
== Größe des Operators (sizeof) ==
Größe des Operators (sizeof): Gibt die Größe eines Datentyps oder einer Variable in Bytes zurück.
Größe des Operators (sizeof): Gibt die Größe eines Datentyps oder einer Variable in Bytes zurück.
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 52: Zeile 51:
size_t size = sizeof(a);  // size ist die Anzahl der Bytes, die ein int belegt
size_t size = sizeof(a);  // size ist die Anzahl der Bytes, die ein int belegt
</syntaxhighlight>
</syntaxhighlight>
=== Beispiel für die Verwendung von Präfixoperatoren ===
== Beispiel für die Verwendung von Präfixoperatoren ==
Hier ist ein einfaches Beispiel, das verschiedene Präfixoperatoren kombiniert:
Hier ist ein einfaches Beispiel, das verschiedene Präfixoperatoren kombiniert:
<syntaxhighlight lang="C">
<syntaxhighlight lang="C">
Zeile 97: Zeile 96:
</syntaxhighlight>
</syntaxhighlight>
Dieses Beispiel zeigt die Verwendung der verschiedenen Präfixoperatoren und wie sie in einem einfachen Programm verwendet werden können.
Dieses Beispiel zeigt die Verwendung der verschiedenen Präfixoperatoren und wie sie in einem einfachen Programm verwendet werden können.
-----
{| style="width: 100%;
| style="width: 33%;" | [[Präprozessor-Direktiven|< Zurück (Präprozessor-Direktiven)]]
| style="width: 33%; text-align:center;" | [[Hauptseite|< Hauptseite >]]
| style="width: 33%; text-align:right;" | [[Infix-Operatoren|Weiter (Infix-Operatoren) >]]
|}

Aktuelle Version vom 24. September 2024, 07:49 Uhr

Präfixoperatoren sind Operatoren, die vor ihren Operanden stehen und verschiedene Arten von Operationen durchführen können. In der C-Programmierung, und somit auch im Kontext des GNU C Compilers (GCC), gibt es mehrere Präfixoperatoren, die eine wichtige Rolle spielen. Hier sind einige der wichtigsten Präfixoperatoren, die in C verwendet werden:

Inkrement (++) und Dekrement (--)

Inkrement (++): Erhöht den Wert einer Variablen um 1.

int a = 5;
++a;  // a ist jetzt 6

Dekrement (--): Verringert den Wert einer Variablen um 1.

int b = 5;
--b;  // b ist jetzt 4

Dereferenzierungsoperator (*)

Dereferenzierungsoperator (*): Wird verwendet, um auf den Wert zuzugreifen, auf den ein Zeiger zeigt.

int x = 10;
int *ptr = &x;
int y = *ptr;  // y ist jetzt 10

Adressoperator (&)

Adressoperator (&): Gibt die Adresse einer Variablen zurück.

int z = 20;
int *ptr = &z;  // ptr enthält die Adresse von z

Logisches Nicht (!)

Logisches Nicht (!): Negiert einen logischen Wert. Wenn der Operand wahr ist, wird er falsch und umgekehrt.

int flag = 0;
if (!flag) {
    // Dieser Block wird ausgeführt, da !0 wahr ist
}

Bitweises Nicht (~)

Bitweises Nicht (~): Invertiert alle Bits eines Wertes.

unsigned int num = 0b1010;  // Binär: 1010
unsigned int result = ~num; // Binär: 0101 (in 4-Bit-Darstellung)

Vorzeichenwechsel (-)

Vorzeichenwechsel (-): Ändert das Vorzeichen eines Wertes.

int positive = 5;
int negative = -positive;  // negative ist jetzt -5

Größe des Operators (sizeof)

Größe des Operators (sizeof): Gibt die Größe eines Datentyps oder einer Variable in Bytes zurück.

int a = 5;
size_t size = sizeof(a);  // size ist die Anzahl der Bytes, die ein int belegt

Beispiel für die Verwendung von Präfixoperatoren

Hier ist ein einfaches Beispiel, das verschiedene Präfixoperatoren kombiniert:

#include <stdio.h>

int main() {
    int a = 5;
    int b = 10;
    int *ptr = &a;

    // Inkrement und Dekrement
    ++a;  // a ist jetzt 6
    --b;  // b ist jetzt 9

    // Dereferenzierungs- und Adressoperator
    int c = *ptr;  // c ist jetzt 6 (Wert von a)
    int *ptr_b = &b;

    // Logisches Nicht
    int flag = 0;
    if (!flag) {
        printf("Flag ist falsch\n");
    }

    // Bitweises Nicht
    unsigned int num = 0b1010;
    unsigned int result = ~num;

    // Vorzeichenwechsel
    int positive = 5;
    int negative = -positive;

    // Größe des Operators
    size_t size_of_int = sizeof(int);

    // Ausgabe der Ergebnisse
    printf("a: %d, b: %d, c: %d\n", a, b, c);
    printf("result (bitweises Nicht): %u\n", result);
    printf("negative: %d\n", negative);
    printf("Größe eines int: %zu Bytes\n", size_of_int);

    return 0;
}

Dieses Beispiel zeigt die Verwendung der verschiedenen Präfixoperatoren und wie sie in einem einfachen Programm verwendet werden können.


< Zurück (Präprozessor-Direktiven) < Hauptseite > Weiter (Infix-Operatoren) >