一、一维数组

  1. 静态 int array[100];   定义了数组array,并未对数组进行初始化
  2. 静态 int array[100] = {1,2};  定义并初始化了数组array
  3. 动态 int* array = new int[100];  delete []array;  分配了长度为100的数组array
  4. 动态 int* array = new int[100](1,2);  delete []array; 为长度为100的数组array初始化前两个元素

二、二维数组

  1. 静态 int array[10][10];  定义了数组,并未初始化
  2. 静态 int array[10][10] = { {1,1} , {2,2} };  数组初始化了array[0][0,1]及array[1][0,1]
  3. 动态 int (*array)[n] = new int[m][n]; delete []array;
  4. 动态 int** array = new int*[m]; for(i) array[i] = new int[n];  for(i) delete []array[i]; delete []array;    多次析构
  5. 动态 int* array = new int[m][n];  delete []array;      数组按行存储

三、多维数组

  int* array = new int[m][3][4];    只有第一维可以是变量,其他维数必须是常量,否则会报错

delete []array;       必须进行内存释放,否则内存将泄漏

四、数组作为函数形参传递

  1. 一维数组传递:

    1.   void func(int* array);
    2.   void func(int array[]);    
  2. 二维数组传递:
    1.   void func(int** array);
    2.   void func(int (*array)[n]);                  

数组名作为函数形参时,在函数体内,其失去了本身的内涵,仅仅只是一个指针,而且在其失去其内涵的同时,它还失去了其常量特性,可以作自增、自减等操作,可以被修改。

五、字符数组

char类型的数组被常委字符数组,在字符数组中最后一位为转移字符'\0'(也被成为空字符),该字符表示字符串已结束。在C++中定义了string类,在Visual C++中定义了Cstring类。

字符串中每一个字符占用一个字节,再加上最后一个空字符。如:

char array[10] = "cnblogs";

虽然只有7个字节,但是字符串长度为8个字节。

也可以不用定义字符串长度,如:

char array[] = "cnblogs";

转载于:https://www.cnblogs.com/SarahZhang0104/p/5749680.html

C++中数组定义及初始化相关推荐

  1. 在php中可以使用几种方法定义数组,PHP中数组定义的几种方法

    在php.html" target="_blank">php和其他编程语言中,需要常常使用数组创建,我们在前端开发中,js的数组创建可以由new array创建,下 ...

  2. js中数组定义Array

    全栈工程师开发手册 (作者:栾鹏) js系列教程1-数组操作全解 js中数组定义 js中数组的定义非常简单,包含以下5中方式.不过首先要明确的是数组是Array类型的.不是基本数据类型 代码如下: v ...

  3. js二维数组定义和初始化的三种方法

    方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1",&quo ...

  4. 深入掌握数组定义与初始化

    关于这一部分呢,看似很简单,实际运用起来却会有很多问题,课本上讲了,又没有完全讲清楚. 在运用数组的这个方法处理问题是十分灵活的,非常容易产生一些小错误导致代码不能正确运行.所以在本篇博客我将会对众多 ...

  5. php 数组的定义方法,PHP中数组定义的几种方法

    Array 数组 PHP 中的数组实际上是一个有序映射.映射是一种把 values 关联到 keys 的类型.此类型在很多方面做了优化,因此可以把它当成真正的数组,或列表(向量),散列表(是映射的一种 ...

  6. JavaScript中数组定义的几种方法,以及关于数组长度的讨论

    大家在使用JavaScript编写脚本语言的时候,尤其是习惯使用Java语言的朋友,定义了一个固定长度的数组,但是使用了一个超出定义数组的元素,程序并没有报"数组越界"错误,这到底 ...

  7. html中数组的定义,javascript中数组定义的几种方式是什么?

    javascript中怎么定义数组?下面本篇文章给大家介绍一下javascript数组定义的几种方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 1.什么是数组 数组就是一组数据 ...

  8. verilog中数组的定义_verilog数组定义及其初始化

    这里的内存模型指的是内存的行为模型.Verilog中提供了两维数组来帮助我们建立内存的行为模型.具体来说,就是可以将内存宣称为一个reg类型的数组,这个数组中的任何一个单元都可以通过一个下标去访问.这 ...

  9. c++二维数组定义与初始化

    int a[ ][ ]定义二维数组,静态申请 // 定义的二维数组如果不手动初始化的话,全局变量会被初始化为0,否则会随机初始化 int a[5]; // 定义一维数组 int a[2][3]; // ...

最新文章

  1. ADO.NET SQL
  2. [LCS]启用WindowsMessenger5.0的调试日志功能来诊断登录LCS服务器
  3. DL之DNN:利用DNN算法对mnist手写数字图片识别数据集(sklearn自带,1797*64)训练、预测(95%)
  4. HPU暑期第五次积分赛 F - 辞树的质因数分解
  5. 江苏省2013年会计从业资格考试《会计基础》全真模拟试题
  6. Turtle库(海龟)
  7. C\C++不经意间留下的知识空白------const使用
  8. 2018走向成熟 2019未来可期 | PaddlePaddle大有可为
  9. collection.stream()以及collect()方法
  10. 开课吧Java教程什么是类集接口
  11. python爬虫论文总结与展望怎么写_汉语言文学毕业论文总结与展望怎么写
  12. forward(转发)与redirect(重定向)的区别
  13. Ubuntu wine QQ 微信乱码
  14. GOM引擎脚本 时间段内调整人物属性
  15. http://ai.taobao.com/?pid=mm_40428920_1105750338_109783200329
  16. 爬了1000张清纯妹子私房照,我流鼻血了...
  17. 【openEuler】x2openEuler工具使用
  18. matlab程序窗口是乱码,解决matlab中文乱码
  19. 【转】美国NASA致力研究超光速引擎,具备可能性
  20. 南通大学计算机技术/人工智能---822数据结构(计算机技术+人工智能专业)

热门文章

  1. Prism4翻译笔记(四)第四章:模块化应用程序开发
  2. JAVA在线编译,无需环境变量
  3. SVM支持向量机:分类、回归和核函数
  4. java布尔方法_Java布尔方法返回
  5. canoe变量和信号_CANoe的经验总结及如何进行 CAN Signal layout
  6. docker安装mysql主从视频教程_docker安装mysql主从
  7. spring容器的懒加载
  8. Gnosis发起提案就是否推出Gnosis协议v2版本展开讨论
  9. SAP License:给SAP顾问的5个小贴士
  10. Axure经典案例下载(Axure高保真智能监控系统人脸识抓拍别预警系统交互组件机动车辆抓拍管理后台)