c++ - 我们可以有多少级别的指针?

标签 c++ c pointers language-lawyer limit

单个变量中允许有多少个指针(*)?

让我们考虑下面的例子。

int a = 10;
int *p = &a;

同样我们可以有

int **q = &p;
int ***r = &q;

等等。

例如,

int ****************zz;

最佳答案

C标准规定了下限:

5.2.4.1 Translation limits

276 The implementation shall be able to translate and execute at least one program that contains at least one instance of every one of the following limits: [...]

279 — 12 pointer, array, and function declarators (in any combinations) modifying an arithmetic, structure, union, or void type in a declaration

上限是特定于实现的。

关于c++ - 我们可以有多少级别的指针?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10087113/

相关文章:

c - NetBeans 中的调试错误

c - C 中 Ackermann 函数的替代实现

c++ - const 对象和成员指针的 const 正确性,构造函数漏洞

c++ - 在 C++ 中获取所有权和释放对象的语法指南

c++ - 如何在 C++ 中模拟 NSData 对象?

c - 如果你在 C 中没有 %f,如何编写一个 C 程序来打印没有 %f 的小数点后 2 位小数?

c - 使用 memset() 函数及其如何影响内存块

c - 跟随 C 中的指针

c++ - 在 If 语句中分配变量 [C++]

c# - 从头开始——我应该使用 (MS Visual Studio) C# 还是 (MS Visual Studio) C++?