数组

作者: k莫失莫忘 | 来源:发表于2019-07-25 10:54 被阅读0次

数组

1. 声明

typeName arrayName [arraySize]

2. 初始化

  1. 只有在定义数组时才能使用初始化
  2. 不能将一个数组赋给另一个数组
  3. 初始化数组时,提供的值可以少于数组的元素数目。编译器把其他元素设置为零。
int cards[4] = {1 , 2};
long totals[500] = {0}; //初始化totals中所有元素为0
  1. [] 内为空,编译器将计算元素个数
short things[] = {1, 5, 3, 6};
C++数组初始化新增规则
  1. 可以省略等号
int card[4] {1, 2, 3, 4};
  1. 可不在打括号内包含任何东西,这将把所有元素设置为零
  2. 列表初始化禁止缩窄转换
long plies[] = {25, 92, 3.0} // not allowed

3.指针和数组

指针

  1. 指针的声明
int* p1, p2 // 创建一个指针(p1)和一个int变量(p2)
  1. 指针的危险
    在C++中创建指针时,计算机将分配用来储存地址的内存,但不会分配用来储存指针所指向的数据的内存。
long *p;
*p = 233323; // place a value in never-never land

⚠️一定要在对指针解除引用(*p)之前,将指针初始化为一个指定的、适当的地址。

  1. 使用new来分配内存
typeName * pointer_name = new typeName;

new从堆(heap)或自由储存区(free store)中分配内存
C++中,值为0的指针被称为空指针(null pointer)

  1. 使用delete来释放内存
  • delete释放指针指向的内存,但不会删除指针本身
  • 不能用delete释放已释放的内存块
delete p;
delete p; // not ok
  • delete只能与new配对使用
int* p = &a;
delete p; // not allowed, memory not allocated by new
  • 对空指针使用delete是安全的
  • delete用于new分配的内存,但并不意味着要使用用于new的指针,而是用于new的地址。
int *p1 = new int;
int *p2 = ps;
delete pq; // ok
  1. 使用new创建动态数组
int *p = new int[10];
delete [] p;

数组名

在多数情况下,C++将数组名视为数组的第一个元素地址。
一种例外情况是,sizeof(数组名) 将返回整个数组的长度。

指针算术

指针变量+1后,增加的量等于它指向的类型的字节数。

数组表示法 & 指针表示法

C++ 在数组表示法时,会执行如下转换:
arrayname[i] ---> *(arrayname + i)
在使用指针时,也会执行如下转换:
pointername[i] ---> *(pointername + i)

例如:
*tacos[0] 表示 *tacos
*tacos[3] 表示 *(tacos +3)

相关文章

  • 数组

    数组数组数组数组数组数组数组数组数组

  • JavaScript - 5.数组<增删改查>

    数组 Array 数组 - 增 数组 - 删 / 改 数组 - 查 数组 - 自动 toString() 数组 -...

  • PHP数组使用

    数组定义 数组增、删、改 数组查询 数组排序 数组合并、分割 数组比较、去重复 数组长度 数组遍历 数组转换 其他...

  • 》》》PHP初入---(三)

    数组定义 1.索引数组:数组下标是整型的 声明数组: 访问数组: count(数组)--获取数组长度 查看数组所有...

  • JavaScript中数组的常用操作

    数组的遍历 数组的映射 数组的简化 数组的连接 获取数组的片段 数组的拷贝 查找数组 数组去重

  • JavaSE之数组

    六、数组 目录:数组概述、数组声明创建、数组使用、多维数组、Array类、稀疏数组 1.什么是数组 数组的定义:数...

  • Shell数组、关联数组

    数组 定义数组 获取数组 关联数组 定义关联数组 获取关联数组

  • 学习Java第五天

    数组是多个数据的集合 数组的语法 数组元素类型【】 数组名; 多维数组: 数组元素类型【】【】 数组名; 多维数组...

  • php基础精粹

    PHP php数组 php数组之索引数组初始化 PHP数组之索引数组赋值 PHP数组之访问索引数组内容 PHP数组...

  • C语言的惯用集

    数组部分 数组部分 清空数组a 把数据读进数组a 对数组a求和

网友评论

      本文标题:数组

      本文链接:https://www.haomeiwen.com/subject/qmdcrctx.html