*指针和底层硬件联系紧密,使用指针可操作数据的地址,实现数据的间接访问。
1、计算机存储机制
(1)小端存储(从右边数为小端)较为普遍
例如Int、short
数组中的例如short数组里的每个成员为两个字节,按小端存储,各个成员之间是大端存储。
(2)大端存储
字符型数组,每个成员是一个字节,各个成员之间就是大端存储。
2、指针
指针即指针变量,用于存放其他数据单元(变量、数组、结构体、函数等)的首地址。若指针存放了某个数据单元的首地址,则这个指针指向了这个数据单元,若指针存放的值是0,则这个指针是空指针。
(1)定义指针时*和前面的数据类型是一个整体,通常临近标识符变量。
(2)指针输出时是按照指针的类型进行输出,加加减减用在数组上;
3、数组是一些相同数据类型的变量组成的集合,其数组名即为指向该数据类型的指针,可对数组名进行指针相关的操作。数组的定义等效于申请内存、定义指针和初始化。
4、常见应用
传参,传递返回值
5、(1)在对指针指向任何地址之前,一定要确定指针指在了合法位置。
(2)同级指针之间才能互相赋值,跨级赋值将会导致编译器报错或者警告(仅仅提醒你要不要跨级)。
6、如果想保证让数据不被更改,可在传参的时候使用const。