C11

C 言語って C99 の後に C11 というのがあるんだね。

C11 (C言語) – Wikipedia

gets を排除なんてどのコンパイラもやらないだろうな。
gets_s なんて Clang も gcc も使えないぞ、cc.exe ただ一つじゃねーの?

しかし gets で検索するとみんな色々書いているけど。。。
GNU Readline ってそんなに無名なんだろうか?

GNU readline | Paepoi Blog

標準入力では一番の選択肢だと思うんだけど、まあ人それぞれ。

char16_t と char32_t 型か、今までどおり wchar_t で問題ないような。
UTF-16 と UTF-32(UCS-4) が混在する場合なんてありえる?

てか

#include <uchar.h>

が macOS では CLang でも gcc でもエラーなんだけど?

macos – OS Xでuchar.hが見つからない – スタック・オーバーフロー

古い質問だけど今もそうなの?
Fedora の gcc だと普通にコンパイルできるんですけど。
U の接頭子ならイケたのでそっちでやってみる。

#include <stdio.h>

int main (int argc, char const* argv[]) {
    printf("wchar size: %lu byte\n", sizeof(L'a'));
    printf("UTF-32(UCS-4) size: %lu byte\n", sizeof(U'a'));
    return 0;
}

utf32

うん、Fedora の gcc も macOS の Clang もオプション無しでイケる。
全部 UTF-32 なのよね、NSString が UTF-16 なのが少し困る。
あっ混在あった、ってそれ相互利用なんてしないと思うけど。