【发布时间】:2022-01-07 08:38:03
【问题描述】:
我很好奇:
两者有什么区别:
const int MAX_BUF = 1000;
char* Buffer = malloc(MAX_BUF);
和:
char Buffer[MAX_BUF];
【问题讨论】:
-
鉴于
MAX_BUF是const,第二个示例真的是VLA 吗? -
@juanchopanza 先生,如果我没记错的话,在
C++中,const变量是一个常量,但在C中,const变量实际上是const-qualified ,而不是实际常数。所以,第二个是VLA,如果我错了,请纠正我。 -
@SouravGhosh 好的,谢谢。这是一个真正的问题。我不太了解C。
-
@juanchopanza 我的
C++技能太糟糕了,在那种情况下我几乎是隐形的。只是“碰巧”知道一些案例,比如这个。 :-) -
哪些代码需要更少的执行时间?
标签: c pointers initialization malloc variable-length-array