C“块”插入字符

Lou*_*Lou 6 c declaration caret

我注意到这个涉及插入符号 (^) 字符的声明被固定在顶部的 cdecl.org 站点上:

// "cast foo into block(int, long long) returning double"
(double (^)(int , long long ))foo
Run Code Online (Sandbox Code Playgroud)

有人可以解释这里插入符号的目的是什么吗?这真的是 C 声明中的有效字符,还是某物的占位符?

Eri*_*hil 5

插入符号是 C 语言扩展的一部分,用于处理。块是 Clang 和 Apple\xe2\x80\x99s GCC 支持的 C 扩展。它并不严格符合C(即不是C 标准定义的核心C 语言的一部分)。

\n