首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++中VLA的问题

C++中VLA的问题
EN

Stack Overflow用户
提问于 2015-10-22 16:48:34
回答 1查看 163关注 0票数 4

我在MacOSX10.11上运行Xcode7.1。我试图用C语言声明一个VLA数组,但是我做不到。

第二次我在数组声明中使用变量时,这是没有意义的。不会创建数组。我翻遍了编译器的设置,试着手动安装了GCC,我搞不懂。有人能发现问题所在吗?据我所知,从C99开始,VLA就成为了标准,而且我可以说我的Xcode是在C11上运行的。这是怎么回事?代码和设置图像包括在内。

代码语言:javascript
复制
void printTriangle (int height, char rowPatterns[][height]) {

    int rowSize = 2 * height - 1;
    char rowString[rowSize]; //string to store in pattern's array
    int characterCount = rowSize; //number of character printed per row of triangle
    int asteriskCount = 1; //number of asterisks printed in each row
    int spaces = (characterCount - asteriskCount) / 2; //how many spaces need to be printed in this current row
    int rowCount;
// rest of the code...
   }

EN

回答 1

Stack Overflow用户

发布于 2015-10-22 17:07:14

与任何其他局部变量一样,VLA甚至可能在您第一次使用它之前都没有被分配。现代编译器并不一定会在声明点分配局部变量,因此,试图在声明点之后立即在调试器中查看VLA的内容是没有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33276898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档