关于C(以及 C++ 的 C 子集)中指针和数组声明的细节,SO 上有很多问题。
我对为什么更感兴趣。当我们连续声明多个指针/数组时,
为什么必须将*,[]放在每个变量的前面?
int *a, *b;
int c[1], d[1];
Run Code Online (Sandbox Code Playgroud)
为什么我们必须在函数指针中的变量名之后/周围键入内容?
void (*foo_ptr)(int, int);
Run Code Online (Sandbox Code Playgroud)
为什么我们有这个让很多新手感到困惑的功能,甚至编译器也会识别并报告这些东西作为类型的一部分?前任:function foo accepts int** but it was given int*
我想我正在寻找它背后的直觉,导致它以这种方式被创建,以便我可以将它应用于我对语言的理解。现在我只是看不到它......