C语言基础学习——指针

C语言基础学习——指针 指针是内存单元的编号---地址是一类特殊的数据---具有指向含义的值0x1000 //房间的编号指针就是地址1.指针类型也是一种数据类型地址类型这种数据类型专门用来处理地址这种数据具有指向含义的值---指向内存单元2.指针的值是个地址3.指针变量C语言表示指针类型定义指针变量语法基类型 * 指针变量名1.基类型表示的是指针指向的那块内存空间存放的数据类型基类型可以是整型、浮点型、字符型、也可以是构造类型、也可以是指针类型、也可以是空类型2.*表示此时定义的不是普通变量而是指针类型的变量//相当于是个修饰符用来说明是指针类型3.指针变量名标识符 和变量名命名规则一样int * p; //定义了一个指针类型的变量 p1在64位系统上指针类型都是8字节2这个空间放的是地址内存单元的编号3p中要放的地址看基类型基类型决定了p中能存放的是一块存放int型数据的空间的地址int a 10; int *p a; //说p指向了a注意a的数据类型 int 型p的数据类型 int*型 //指针类型表示能处理的是int型所在空间的地址需要分清楚p本身 --- 指针类型变量p指向目标 --- 就是基类型的空间地址通过指针变量访问通过p本身 --- 得到地址 --- 找到对应的内存空间指针运算符 *//间接访问运算*p可以访问a所在的空间运算过程1.拿出p中的值到内存中定位2.从定位处开始偏移sizeof基类型大小的一块空间3.将这块空间当作一个基类型的变量来看*p --- int型的变量直接访问通过a访问就是直接访问间接访问通过p实现的访问就是间接访问指针最核心的用途在被调函数中实现对主调函数中数据的修改