ckd_add
| Definiert in der Headerdatei <stdckdint.h>. |
||
| #define ckd_add( result, a, b ) /* implementierungsabhängig */ //öffentliche Schnittstelle |
(seit C23) | |
Berechnet die Addition x + y und speichert das Ergebnis in *result. Die Addition wird so durchgeführt, als ob beide Operanden in einem vorzeichenbehafteten Ganzzahltyp mit unendlichem Wertebereich dargestellt würden und das Ergebnis dann von diesem Ganzzahltyp in type1 konvertiert würde. Wenn der Wert, der *result zugewiesen wird, das mathematische Ergebnis der Operation korrekt darstellt, gibt die Funktion false zurück. Andernfalls gibt sie true zurück. In diesem Fall ist der Wert, der *result zugewiesen wird, das mathematische Ergebnis der Operation, das auf die Breite von *result umgebrochen ist.
Inhalt |
[bearbeiten] Parameter
| a, b | - | Ganzzahlwerte |
| Ergebnis | - | Adresse, an der das Ergebnis gespeichert werden soll |
[bearbeiten] Rückgabewert
false, wenn der Wert, der *result zugewiesen wird, das mathematische Ergebnis der Addition korrekt darstellt, true andernfalls.
[bearbeiten] Hinweis
Sowohl type2 als auch type3 müssen beliebige Ganzzahltypen außer "plain" char, bool, einem bit-genauen Ganzzahltyp oder einem Aufzählungstyp sein, und sie können gleich sein. *result muss ein modifizierbarer L-Wert eines beliebigen Ganzzahltyps außer "plain" char, bool, einem bit-genauen Ganzzahltyp oder einem Aufzählungstyp sein.
Es wird empfohlen, eine Diagnosemeldung auszugeben, wenn type2 oder type3 keine geeigneten Ganzzahltypen sind oder wenn *result kein modifizierbarer L-Wert eines geeigneten Ganzzahltyps ist.
[bearbeiten] Beispiel
| Dieser Abschnitt ist unvollständig Grund: kein Beispiel |
[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.20.1 Die Makros für die überprüfte Ganzzahlarithmetik (p: 311)
[bearbeiten] Siehe auch
| (C23) |
Überprüfte Subtraktionsoperation auf zwei Ganzzahlen. (typspezifisches Funktionsmakro) |
| (C23) |
Überprüfte Multiplikationsoperation auf zwei Ganzzahlen. (typspezifisches Funktionsmakro) |