C指针的理解
指针 (编程语言中的一个对象):指针也就是内存地址,指针变量是用来存放内存地址的变量,在同一CPU构架下,不同类型的指针变量所占用的存储单元长度是相同的,而存放数据的变量因数据的类型不同,所占用的存储空间长度也不同。
int a=3; //普通的变量定义
定义变量a的时候,计算机会给a开辟一个内存空间,这个内存空间就是a的地址。比如为0xA0。内存中存放的是3这值。
int *p;//定义一个指针
p = &a;//指针赋值
定义指针的时候,计算机也会给p开辟一个内存空间,比如内存地址为0XB0。p=&a表示将a的地址赋给指针,存放在指针的内存中。也就是把一个内存地址放在内存空间里,并不是一个数字或者常量。
*p;//表示取出指针地址(p内存中的地址)所指向的值(a内存中的值)。*p=3
p;//普通的p指针,p中存放的地址(内容为0XA0),不像其他变量存放的数值或常量
&p;//表示p的地址(计算机分配的地址),内容为0XB0
*p;//表示取指针指向的地址中的内容,内容为3