高质量C++编程_第7章_内存管理(2)
来源:互联网 发布:开淘宝店货源从哪里来 编辑:程序博客网 时间:2024/06/10 19:03
7.3 指针与数组的对比
(1) 数组:
分配内存位置:在静态存储区被创建(如全局数组) 或 在栈上被创建
特点:数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变。
sizeof(数组名) = 数组的总容量 = 数组长度 * 该类型占得字节数
(2) 指针:
分配内存位置:可以指向任意类型的内存块
特点:指针指向这一块内存,指针的指向(除了在定义时就初始化的字符串指针)是“可变”的
sizeof(指针) = 指针类型占得字节数(4个字节)
举例
sizeof(数组名) = 数组的总容量 = 数组长度 * 该类型占得字节数char a[] = "hello";cout<< sizeof(a) << endl; // 6 字节 = 6 * 1sizeof(指针) = 指针类型占得字节数(4个字节)char *p = a;cout<< sizeof(p) << endl; // 4 字节
注意:
1、C++/C 语言没有办法知道指针所指的内存容量,除非在申请内存时记住它。
2、当数组作为函数的参数进行传递时,该数组自动退化为同类型的指针
void Func(char a[100]){cout<< sizeof(a) << endl; // 4 字节而不是100 字节}
- 高质量C++编程_第7章_内存管理(2)
- 高质量C++编程_第7章_内存管理(1)
- 高质量C++/C编程指南 -- 第7章 内存管理 (2)
- 高质量C++/C编程指南 -- 第7章 内存管理 (2)
- 高质量C++编程_第5章_常量
- 高质量C++/C编程指南 -- 第7章 内存管理 (1)
- 高质量C++/C编程指南 -- 第7章 内存管理 (1)
- 高质量C++/C编程指南 -- 第7章 内存管理
- 高质量C++/C编程指南 -- 第7章 内存管理
- 读书笔记-高质量C++/C编程指南-第7章 内存管理
- 高质量C++/C编程指南 -- 第7章 内存管理
- 高质量C++/C编程指南 -- 第7章 内存管理
- 高质量C++/C编程指南 -- 第7章 内存管理 P1
- 高质量C++/C编程指南 -- 第7章 内存管理 P2
- 高质量C++/C编程指南 -- 第7章 内存管理 P3
- 高质量C++/C编程指南 -- 第7章 内存管理 P4
- 高质量C++/C编程指南 -- 第7章 内存管理 P5
- 高质量C++/C编程指南 -- 第7章 内存管理 P6
- poj 1517 u Calculate e
- 骗子改电脑配置信息兜售垃圾,怕上当进来学习一下
- Android中如何做到Service被关闭后又自动启动
- poj 1962 Corporative Network
- Oracle复习(一)
- 高质量C++编程_第7章_内存管理(2)
- SecureCRT登录主机慢
- j2ee中下载文件,js调用action,及获得tomcat的物理路径等知识点
- 日期控件
- 在衡量web用程序的性能时,哪些性能指标是比较重要的?
- 问题的提出方式。(【先】说出最关键的【结果】,然后再描述细节)
- android退出提示
- C++(一)拷贝构造函数栈溢出的原因
- DoG (Difference of Gaussian)角点检测