第2章:数据抽象
来源:互联网 发布:数据透视表 生活 编辑:程序博客网 时间:2024/06/02 01:19
2.1 声明与定义
声明:向计算机介绍名字,不分配存储空间,使用关键字extern,函数声明:可以不用extern,只用不带函数体的函数名连同参数表或返回值。
定义:为这个变量或者函数申请存储空间,对变量,编译器确定它占用多少存储单元,在内存中产生存放它们的空间;对函数,编译器产生代码,并为之分配存储空间且存储空间中有函数名产生的指针。
2.2 动态内存分配
堆是很大的内存块,用于在运行时分一些小的单元,如果不能预先知道需要的最大存储量,可从堆中分配。动态内存分配函数包括malloc()、calloc()、realloc()和free()。realloc(参数1,参数2):参数1:已经分配又希望重新分配的存储单元的首地址,参数2:新块的长度,如果参数2比原来的小,不需要拷贝,只用告诉堆管理器空间是空闲的,如果参数2比原来的空间大,堆中没有足够相邻空间,要分配新块且要拷贝内存。
对动态内存分配,编译器不知道需要多少存储单元、生命周期,不能自动清除,程序员应使用cleanup()函数free()掉不用的存储空间。
2.6 对象
将函数封装到对象中,使得函数也成为数据结构的一部分,解决了对象定义的函数重命名的问题。
2.7 头文件形式
C和C++允许对函数重复声明,但不允许对结构重复声明。一个问题是多个文件高寒同一个数据结构的头文件,编译器将认为是结构重复声明,C++中采用预编译处理器隔离这个头文件。如有一个头文件名:FOO.H
#ifndef FOO_H #define FOO_H #endif
0 0
- 第2章:数据抽象
- 第02章 数据抽象
- C++必知必会-第1章-数据抽象
- SICP 读书笔记——第 二 章 构造数据抽象
- SICP 读书笔记——第 二 章 构造数据抽象——第 1 节 数据抽象导引
- python 第6章抽象
- 第6章 抽象类
- 第2章 内存管理:2.1 虚拟内存抽象模型:
- 第2章 抽象工厂模式(Abstract Factory)
- C++数据抽象和问题求解(第6版)
- 第二章 什么是数据抽象
- 【第十一章】 掌握数据抽象
- 第3.2.2节 抽象布局与抽象样式
- 第2章 数据绑定
- 第2章-数据质量
- (第Ⅱ部分 创建型模式篇) 第2章 抽象工厂模式(Abstract Factory)
- 面向对象软件构造(第2版)-第6章 Abstract data types抽象数据类型 (上)
- 面向对象软件构造(第2版)-第6章 Abstract data types抽象数据类型 (中)
- BaiduMap初体验(一) 搭建百度地图的环境
- php header输出类型(备查)
- 内存中堆和栈的区别
- 使用ligerUI遇到未知参数、方法处理办法
- Android之Android Studio 快捷键整理分享
- 第2章:数据抽象
- 三大框架的优缺点
- Maven---leaning02
- 测试管理工具
- 记我遇到的神奇BUG
- HTTP协议及工作原理解析
- 解决Android Stidio在模拟器里中文乱码的问题
- python 数据处理学习pandas之DataFrame(二)
- 初到博客请多多关照