文章目录
一、数据类型
二、数据类型本质 ( 数组地址 | 数组首元素地址 )
一、数据类型
" 数据类型 " 是 数据的抽象 ;
相同类型的数据 , 表示形式相同 , 存储格式相同 , 相关操作相同 ;
C 语言程序中的 数据 , 必定属于某种 数据类型 ;
数据类型分为 简单数据类型 和 复杂数据类型 ;
简单数据类型 :
基本数据类型 : C 语言中有 6 66 种基本数据类型 ;
整型 : short , int ;
浮点型 : float 单精度浮点 , double 双精度浮点 ;
字符型 : char ;
空类型 : void ;
用户自定义类型 : enum 枚举类型
复杂数据类型 :
结构类型 :
数组类型 : [] ;
结构体类型 : struct ;
联合体类型 : union ;
类 : class ;
指针类型 : * ;
二、数据类型本质 ( 数组地址 | 数组首元素地址 )
数据类型 本质 : 固定大小 内存块 的 别名 ;
如下代码 :
int a;
编译器 一旦看到 int 类型变量 , 就知道需要分配 4 字节内存 , 用于存储该变量 ;
int array[10];
告诉 C 语言编译器 分配 40 直接内存 ;
打印上述数组 array , array + 1 , &array , &array + 1 的值 ,
#include <stdio.h> int main() { int array[10]; printf("array = %d, array + 1 = %d, &array = %d, &array + 1 = %d", array, array + 1, &array, &array + 1); return 0; }
执行结果 :
array = 6422184, array + 1 = 6422188, &array = 6422184, &array + 1 = 6422224
发现 array 与 &array 的值相等 , 但是这二者所代表的数据类型不同 ;
array 代表 数组首元素地址 ;
&array 代表 数组地址 ;
array + 1 与 &array + 1 的值相差 40 4040 字节 , 也就是整个数组的大小 ;
array + 1 表示 数组首元素地址 加上一个 数组元素 占据的内存大小 ;
&array + 1 表示 数组地址 加上一整个 数组 占据的内存大小 ;
数组数据类型 :
定义 数组类型
定义 数组指针类型
数组类型 和 数组指针类型 的关系 :