c语言 指针与地址的区别
指针由两部分组成,指针的类型和指针的值(也就是变量的地址)。
指针和地址的区别:
地址只是一堆十六进制的字符,对应着内存条的某段内存, 而指针本身有地址,指针的值也是一个地址,指针本身还有类型,这与单纯的地址是不同的。
指针和地址的联系:
地址可以强转成一个指针,例如:
int a = 1;
//假设a的地址是0x7dfe88
int *p = (int *)0x7dfe88;
附:指针类型的作用:
指针的值只是存储了某个变量的首地址,但是变量是有类型的,比如char是1个字节,int是4个字节,单纯的知道某个变量的首地址并无法完整的获取整个变量的值,必须知道从首地址往下读取多少个字节,指针的类型标明了从首地址往下读取多少个字节。