C/C++中数组的创建

      在 C/C++ 中,数组的创建方式有多种,具体取决于数组的类型、作用域和内存分配方式,以下是常见的数组创建方式:

1.静态数组(栈上分配)
               

               1.数组的大小在编译时确定,内存分配在栈上。

               2.适用于已知大小的数组。

               3.数组大小必须是常量。

               4.生命周期由作用域决定(函数结束时自动释放)。

           C/C++ 示例:


2.动态数组(堆上分配)
             

              1.数组的大小在运行时确定,内存分配在堆上。

              2.适用于需要动态调整大小的数组。

              3.需要手动管理内存(free 或 delete[])。

              4.数组大小可以是变量。

           C 语言示例:


            C++ 语言示例:


3.多维数组

                           

                       可以创建二维或多维数组。

                静态多维数组

                                       C语言:


                动态多维数组:

                                        C 语言:


                                        C++ 语言:


 4.C++ STL 容器(动态数组)

               C++ 提供了标准模板库(STL)中的 std::vector,可以动态管理数组。

                   1.自动管理内存,无需手动释放。

                   2.支持动态调整大小。

               C++语言:


 5.全局或静态数组

              数组声明在全局作用域或使用 static 关键字。

              1.全局数组在整个程序运行期间存在。

              2.静态数组的生命周期持续到程序结束

              C语言:


 6.C99 中的变长数组(VLA)

                C99 标准支持变长数组(Variable-Length Array),数组大小可以是变量。

              1.仅适用于 C99 及以上标准。

              2.数组大小在运行时确定。

              C语言:


 7.C++11 中的 std::array

                          C++11 引入了 std::array,提供固定大小的数组封装。

                            1.大小固定,性能接近原生数组。

                            2.提供边界检查等安全特性。

               C++语言:



总结 

创建方式特点
静态数组栈上分配,大小固定,自动释放。
动态数组堆上分配,大小可变,需手动释放。
多维数组支持多维,静态或动态分配。
STL 容器(vector)动态数组,自动管理内存,支持动态调整大小。
全局/静态数组生命周期长,全局或静态作用域。
变长数组(VLA)C99 特性,大小可以是变量。
std::arrayC++11 特性,固定大小,安全性高。

根据具体需求选择合适的数组创建方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值