c语言 指针与地址的区别

时间:2023-07-19 10:34:44

指针由两部分组成,指针的类型和指针的值(也就是变量的地址)。

指针和地址的区别:

地址只是一堆十六进制的字符,对应着内存条的某段内存, 而指针本身有地址,指针的值也是一个地址,指针本身还有类型,这与单纯的地址是不同的。

指针和地址的联系:

地址可以强转成一个指针,例如:

int a = 1;

//假设a的地址是0x7dfe88

int *p = (int *)0x7dfe88;

附:指针类型的作用:

指针的值只是存储了某个变量的首地址,但是变量是有类型的,比如char是1个字节,int是4个字节,单纯的知道某个变量的首地址并无法完整的获取整个变量的值,必须知道从首地址往下读取多少个字节,指针的类型标明了从首地址往下读取多少个字节。