Zum Hauptinhalt springen
tsecurity.de LIVE
Echtzeit-Radar & Feeds
Alle RSS Feeds
👥 Community & Social
IT Security NachrichtenThe Rising Threat of Deepfakes: Why Organizations Must Rethink Trust(23.09.2026 um 02:00 Uhr)
Sichere ProgrammierungI built an agent that refuses to answer Next.js from stale docs(24.09.2026 um 03:17 Uhr)
Sichere ProgrammierungI vibe-coded a Next.js knowledge base that argues with itself(24.09.2026 um 03:17 Uhr)
Linux Tipps & HardeningUbuntu speeds up kernel security updates because of AI(24.09.2026 um 03:01 Uhr)
IT Security NachrichtenGoogle's PageBreak Project – Real-World Findings(24.09.2026 um 02:00 Uhr)
IT Security NachrichtenThe Rising Threat of Deepfakes: Why Organizations Must Rethink Trust(23.09.2026 um 02:00 Uhr)
Sichere ProgrammierungI built an agent that refuses to answer Next.js from stale docs(24.09.2026 um 03:17 Uhr)
Sichere ProgrammierungI vibe-coded a Next.js knowledge base that argues with itself(24.09.2026 um 03:17 Uhr)
Linux Tipps & HardeningUbuntu speeds up kernel security updates because of AI(24.09.2026 um 03:01 Uhr)
IT Security NachrichtenGoogle's PageBreak Project – Real-World Findings(24.09.2026 um 02:00 Uhr)
Intelligence View
⚡ tsecurity.de Intelligence

C23 Miscellany

Introduction I’ve written a few articles on individual new features in C23 covering attributes, auto, bool, storage classes for compound literals, constexpr, explicit underlying types for enumerations, nullptr, and typeof. There are a f…

0
↗ Quelle (dev.to)
Reagiere als Erste:r — dein Feedback zählt!




Introduction



I’ve written a few articles on individual new features in C23 covering attributes, auto, bool, storage classes for compound literals, constexpr, explicit underlying types for enumerations, nullptr, and typeof. There are a few miscellaneous new features that aren’t substantial enough to warrant individual articles for each, so this article will cover them together.






Aggregate Initialization



You can now initialize aggregates (arrays, structures, and unions) with an empty = { }. Previously at a minimum, you had to include a 0 between the { and }.






Binary Literals



C has had decimal, octal, and hexadecimal integer literals since its creation. C23 adopted binary literals from C++14 using either the same 0b or 0B prefix:




int n = 0b101010;  // 42 decimal









_BitInt



A new bit-precise integer type has been added, _BitInt(n) where n is a positive constant integer expression. It may be either signed (the default) or unsigned. (If signed, n includes the sign bit.) Some examples:




unsigned _BitInt(24)  rgb24;   // 24-bit RGB color
unsigned _BitInt(256) sha256; // SHA-256






The maximum value for n is implementation defined, but is at least as many as for unsigned long long.






Decimal Floating-Point Types



Although they’ve existed as extensions for a while, the new decimal floating-point types of _Decimal32, _Decimal64, and _Decimal128 are now officially supported.



Decimal-floating types are better for calculations involving money (dollars, euros, pounds, etc.) because they’re not subject to the same rounding errors that the standard-floating types are. The standard-floating types are still better for general floating-point calculations.






Declarations After Labels



You can now (finally) put declarations immediately after either goto or case labels:




error:             // C < C23: error; C23: OK
int code;






Previously, you had to use something like the :; trick (an empty statement after :) to be legal. The C Committee should have made this legal when they allowed intermingled declarations and code in C99, but better late than never.






Digit Separators



C23 also adopted the ' character as a digits separator from C++14 as a readability aid:




int n = 0b0010'1010;
int c = 299'792'458;






The overall value is not affected. You’re free to group the digits however you like.




If you’re wondering why , (comma) wasn’t used, it’s because , is used to separate function arguments and is also the comma operator.







K&R-Style Functions



Even though function prototypes were adopted from C++ way back in C89 (the first ANSI C), C has still supported “K&R style” function declarations and definitions:




char* strncpy();  // C < C23: unspecified arguments

char* strncpy( dst, src, n )
char *dst;
char const *src;
size_t n;
{
// ...






Finally, C23 has dropped support for such declarations and definitions.






New Keyword Spellings



In addition to bool replacing _Bool, alignas replaces _Alignas, alignof replaces _Alignof, static_assert replaces _Static_assert, and thread_local replaces _Thread_local. (The old spellings are still supported, but deprecated.)






New Preprocessor Directives



The preprocessor now includes #elifdef, #elifndef, #embed, and #warning directives.






Unnamed, Unused Parameters



Unlike C++, function definitions in C have historically required unused parameters to still be named. To eliminate an “unused” warning, you typically cast it to void:




char** cdecl_rl_completion( char const *text,
int start, int end ) {
(void)end; // means: unused
// ...






In C23, you can simply omit the name just like you always could in function declarations.






__VA_OPT__



Though it’s been supported as an extension by gcc and clang for a while, __VA_OPT__ is finally part of the C standard.






Variadic Functions



As I mentioned in a previous article, variadic functions no longer insist on at least one required parameter; that is you can do:




void f( ... ) {      // C23: no required parameter
va_list args;
va_start( args ); // C23: no second argument
// ...






This ability was adopted from C++.






Conclusion



Of all the changes to C23, auto will probably be the most used; but the other changes, while not revolutionary, are nice (and sometimes long overdue).

SOC Incident Playbook: Vulnerability Remediation & Verification
title: Detect Exploitation - C23 Miscellany
id: 63ba0cf3-ceff-461b-894f-76d7bb3e466b
status: experimental
description: Automatisch generierte SIEM-Erkennungsregel basierend auf CTI Intelligence
references:
  - https://tsecurity.de/
author: iShareStuff CTI Automated Detection Engine
date: 2026-09-24
logsource:
  category: network_connection
  product: any
detection:
  selection:
      CommandLine|contains:
        - 'exploit'
  condition: selection
falsepositives:
  - Legitime administrative Zugriffe oder Penetrationstests
level: high
tags:
  - attack.initial_access
rule CTI_Threat_Indicator {
    meta:
        author = "iShareStuff CTI Automated Detection Engine"
        date = "2026-09-24"
        description = "YARA Signature for "
    strings:
        $str = "C23 Miscellany" ascii wide
    condition:
        any of them
}
tsecurity.de Cognitive Threat RAG
Fokus-Vektor:

Kognitive Analyse für identifizierte Bedrohung: Erhöhte Bedrohungslage im Bereich C23 Miscellany.... Basierend auf 368k Vektor-Korrelationen werden sofortige Isolationsmaßnahmen für betroffene Endpunkte empfohlen.

🛡️ Angriffsfläche & Exposure

Netzwerk/Remote-Zugriff ohne Vorauthentifizierung möglich.

Empfohlene Sofortmaßnahmen
  • 1. Perimeter-Inspektion: Relevante Portfreigaben und exponierte Endpunkte unverzüglich scannen.
  • 2. Patch-Applikation: Hersteller-Hotfix einspielen oder betroffene Daemons in isolierte DMZ-Segmente überführen.
  • 3. Telemetrie & EDR-Alerts: Prozessaufrufe und Child-Processes auf anomale Shell-Spawns überwachen.
🔗 Semantisch verwandte Zero-Days MariaDB 11.7 VEC
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten C23 Miscellany

Thematisch verwandte Begriffe: Miscellany · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Zum Aktualisieren ziehen
ZERO-DAY CVE-2026-96676 | A vulnerability was identified in Fast FAC1900R 20190827_2.0.2. The impa…
Advisory →
TTS Reader • tsecurity.de Voice
tsecurity.de Icon
tsecurity.de App
Offline-Lesen, Eilmeldungen & 0ms Ladezeit

Installiere tsecurity.de direkt auf deinen Home-Bildschirm für das ultimative Vollbild-Magazinerlebnis ohne Browser-Leisten.

Nächster Beitrag
Themen-Radar & Intelligence Matrix
Echtzeit-Taxonomie nach Angriffsvektoren & Plattformen

tsecurity.de Live Threat Radar

🔴 LIVE RADAR
MONITORING
AKTIV
CVE-DATENBANK
LIVE
🔍
Community Radar & Live Chat
Sentinel Bot online • Live-Stream
Dein Cluster: Security Explorer
Match:
lädt…
Verbindung zum Community-Stream wird aufgebaut...
Bearbeitungsmodus — Senden überschreibt deine Nachricht
Community-Puls — was gerade passiert
lädt…
Aktivitäten deiner Analysten
lädt…
Neues Thema oder Eilmeldung einreichen

Reiche interessante Links, Zero-Days oder Debatten ein. Die Community entscheidet per Upvote über die Veröffentlichung.

Heiß diskutierte Einreichungen
🔖 Gespeicherte Artikel
📂 Keine gespeicherten Artikel vorhanden.
Zurück Ziehen Vor
Links: vorheriger Artikel Rechts: nächster Artikel unten: schließen
News NIS-2 Frühwarnung Tier-1 Intel TTP ⏱️ 3 Min vor 10 Min
Artikeldaten werden geladen...

Zurück: vorheriger Vor: nächster
↗ Original-Quelle
Social Reaktionen Deine Reaktion zählt
Einstufung & Relevanz-Poll 0 Stimmen
In sozialen Netzwerken teilen 1-Klick