数据类型(type)
简称类型
是具有相同特征的数据的集合,是一个抽象概念
C 的数据类型主要分为三种: 原始数据类型:内置或预定义的数据类型,用户可以直接使用它们声明变量。例如:int,char,float,bool等 整数、字符、布尔型、浮点、双浮点数、void、宽字符 等 派生数据类型:从原始或内置数据类型派生的数据类型 函数 数组 指针 引用 用户自定义类型:这些数据类型由用户自己定义 类 结构体 union:在并集中,所有成员共享相同的内存位置 枚举类型 typedef:为 复杂的声明 定义 简单的别名
变量类型
变量:数据保存在计算机中,是存储在内存中的某一块空间上,这块用来存储数据的空间就是变量,给这块空间命的名就是变量名 变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。C变量
变量类型就是存储在变量中的数据的数据类型
变量的值就是变量这块空间中存储的数据的值
变量的定义
变量的定义,告知编译器 在内存申请一块空间 用来存储数据,数据类型是什么,空间名(即变量) 叫什么,数据的值 是什么 变量的声明,只告知编译器 在内存申请一块空间 用来存储数据,数据类型是什么,空间名(即变量) 叫什么,关于数据的值,则没有说明
变量的定义和声明都会在内存中申请出一块空间,区别在于是否赋予变量(中的数据)具体的值
无论是声明还是定义,都要指定 变量的类型,因为要按照数据类型在内存中申请对应的具体大小的空间
用户自定义类型的定义
函数的定义
函数的定义,告知编译器 函数的返回值类型、函数名、参数、函数的实现 函数的声明,只告知编译器 函数的返回值类型、函数名、参数,不进行函数的实现
函数的定义 = 函数的声明 函数的实现
类的定义
类的定义,告知编译器 类的名称、类的私有成员、类的公有成员、类的成员变量的声明、类的成员函数的定义 类的声明,告知编译器 类的名称、类的私有成员、类的公有成员、类的成员变量的声明、类的成员函数的声明,不进行类的成员函数的实现 类的实现,就是类的成员函数的实现
类的定义 = 类的声明 类的(成员函数)的实现
类和函数,有声明但没有实现,则是未定义,编译器会报错类或函数未定义(undefined) 没有声明,则编译器会报错未声明(unclear)
一般来说,在定义函数和类时,在头文件中声明,在源文件中实现
不过模版类不支持分离编译(见另一篇日记),因此要在同一个文件中(一般是头文件)完成定义
类和对象
类是一种用户自定义类型 STL是一个 标准 模板类 库
类是一个数据类型,是一个抽象的概念
对象是类的实例化,对象是变量
类是封装对象的属性和行为的载体,而对象的属性以成员变量的形式存在。对象的方法以成员方法的形式存在,在成员方法内定义的变量为局部变量