`
junfeng_feng
  • 浏览: 19932 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

C++ 可以声明非常量大小的数组

 
阅读更多
#include<iostream>
using namespace std;

int main()
{
    uint32_t size;
    cin >> size;
    int arr[size];
    printf("size address::%x\n", &size);
    printf("array address::%x\n", &arr[0]);
    return 0;
}

这段代码,可以编译通过。可以在栈上开辟一个运行时才知道大小的数组。(参考:http://ericwang.github.com/c_cpp/2010/02/10/c_Variable_length_arrays.html)

可能是我太孤陋了,竟然不知道什么时候G++已经支持这个特性了。

我的机器输入1,程序输出是:

1
size address::bffff54c
array address::bffff520


分享到:
评论

相关推荐

    C++一维数组二维数组写入txt,从txt中读取数据存到一维数组二维数组

    2. **二维数组**:二维数组可以理解为一维数组的数组,常用于表示表格或矩阵。声明二维数组时,需要提供行数和列数,如 `int matrix[3][4]` 创建了一个3行4列的二维数组。 3. **指针**:在C++中,指针是存储内存...

    C++Builder动态对象数组

    ### C++Builder动态对象数组:TList类、DynamicArray与STL中的Vector容器 #### TList 类 在C++Builder中,TList是用于管理动态对象数组的一种方式。它提供了较为简便的方式来创建、管理和销毁一系列对象。TList...

    C++实现不定长数组

    传统的C++数组在声明时需要指定其长度,而不定长数组允许我们在运行时根据需要分配和调整大小。这种特性使得程序更加灵活,能更好地适应变化的数据需求。 在C++中,实现不定长数组的方式主要有两种:使用`std::...

    C C++ C++ Builder创建动态数组

    例如,创建一个整数类型的动态数组可以这样写: ```cpp int *arr = new int[size]; ``` 这里的`size`是在运行时确定的数组大小。`new`运算符会为数组分配足够的内存,并返回一个指向数组首元素的指针。 在C++ ...

    C++第4章_数组与指针(C++课件,中南大学)

    在C++中,可以声明一个指针变量并将其初始化为数组的地址。通过指针,我们可以动态地访问和修改数组元素,这对于处理大型数据集尤其有用。例如,`*p = 5;`会将`p`所指向的数组元素的值设置为5。 指针与数组的关系...

    向数组中插入元素

    四、在固定大小数组中模拟插入 如果数组大小固定,而必须在中间插入元素,一种常见的策略是创建一个新数组,将原数组元素复制到新数组中,并在合适位置插入新元素。这涉及到元素的移动,例如: ```cpp int arrOld[5]...

    C++习题 6数组与指针

    为了方便修改数组的大小,通常会使用**常变量**来声明数组的长度。 **5.1.2 C/C++中的多维数组定义:** - **嵌套**:多维数组的定义是一种嵌套的形式。 - **以数组作为元素**:多维数组的基本定义是由数组作为元素...

    C++中实例三维动态数组建立

    一个三维数组可以视为由多个二维数组组成的数组,或者说是数组的数组的数组。在C++中,我们可以用以下方式表示一个三维数组: ```cpp int (*arr)[row_size][col_size]; ``` 这里的`arr`是一个指针,它指向一个`row...

    C++程序设计讲义-数组

    数组可以作为函数的参数,但需要注意的是,传递数组时实际上传递的是数组的首地址。因此,函数内部无法改变数组的大小。在实际编程中,常使用指针或者引用来处理数组参数,以便更灵活地操作数组。 六、动态数组与...

    C++数组元素位置的查找程序

    在C++编程语言中,数组是一种非常基础且重要的数据结构,它允许我们存储相同类型的数据集合。本程序的目的是帮助理解和实现如何在数组中查找特定元素的位置,这对于初学者来说是一个很好的实践课题。在此,我们将...

    zhizhenshuzu.rar_C++数组_array_数组_数组c++

    在C++编程语言中,数组是一种非常基础且重要的数据结构,它允许我们存储相同类型的数据集合。本资源“zhizhenshuzu.rar”显然关注的是C++中的数组和指针数组的概念,这对于理解和操作内存以及高效编程至关重要。 ...

    C++动态创建多维数组

    动态创建数组提供了更大的灵活性,特别是在处理不确定数据量或者需要根据用户输入来确定数组大小的情况。本实例将深入探讨如何使用`new`运算符来动态创建多维数组,以及如何处理多维数组指针。 首先,让我们了解`...

    C++动态数组类模板

    //重载[],使Array可以起到普通C++数组的作用 operator T* (void)const; //重载T*,使Array可以起到普通C++数组的作用 int ListSize(void)const; //取数组的大小 void Resize(int sz); //修改数组大小 private: ...

    c++ 第四讲数组与指针

    数组可以通过以下方式声明:`类型数组名[数组大小];` 数组可以用来存储任意非引用数据类型。例如,声明一个整型数组 `int numbers[10];` 表示声明了一个可以存储10个整数的数组。 - **数组的使用** 数组元素可以...

    C++课程-3_数组指针与字符串

    例如,声明一个整型数组可以写作`int myArray[10]`,这里创建了一个能容纳10个整数的数组。数组元素可以通过下标访问,下标从0开始。例如,`myArray[0]`表示数组的第一个元素,`myArray[9]`表示最后一个元素。 接着...

    C++数组的模版实现代码

    在C++编程中,模板是一种强大的工具,它允许我们创建泛型代码,即代码可以处理多种数据类型。这里我们将深入探讨如何使用C++模板来实现一个双下标重载的Matrix类,这是一个常见的数学概念,通常用于表示二维矩阵。 ...

    C++基础课件第七章数组.ppt

    初始化字符数组可以使用字符列表,如`char b[]={'H','e','l','l','o'}`。 - **字符串**:在C++中,字符串实际上是一个以空字符'\0'结尾的字符数组。可以使用双引号直接初始化字符串,如`char str[] = "Hello"`。 5...

    第5章 数组(C++版).ppt

    例如,定义一个包含10个整数的一维数组可以写作: ```cpp int a[10]; ``` 数组名后面的数字10表示数组的长度,这意味着数组a有10个元素,从a[0]到a[9]。数组元素的下标从0开始,所以第一个元素是a[0],最后一个...

    动态数组C++实现2

    在C++编程语言中,动态数组是一种非常重要的数据结构,它允许程序员在程序运行时根据需要动态地分配和释放内存。动态数组的概念与传统的静态数组不同,静态数组在编译时就必须确定其大小,而动态数组则可以在运行时...

    C++程序设计 第六章 数组.pdf

    在C++程序设计中,数组是一种非常重要的数据结构,它允许程序员存储和操作一组相同类型的数据。第六章“数组”详细介绍了如何定义、初始化和使用一维数组。 一维数组是一组按照特定顺序排列的相同类型变量的集合,...

Global site tag (gtag.js) - Google Analytics