C语言指针
时间:2016年1月18日15:19:52
想了解C语言中的指针,首先要了解指针四个方面的值:
- 指针的类型:去掉指针声明中的指针的名字剩下的就是指针的类型。
- 指针所指向的类型:去掉指针声明中的指针的名字和左边的指针说明符*,剩下的就是指针所指向的类型。
- 指针的值/指针所指向的内存地址:指针的值就是指针所存储的一个值,该值会被编译器解析为一个数值,该数值不是一个一般的数值,在32位程序中该指针的值就是一个32位的整数,指针所指向的内存区就是以指针的值所代表的那个内存地址开始,长度为sizeof(指针所指向的类型)的一片内存区。以后我们说指针的值是XXX就是指该指针指向了以XXX为首地址的一块内存区域,我们说一个指针指向了某个内存区域就是说该内存区域是以指针的值为首地址。
注意:指针所指向的内存区和指针指向的类型是两个不同的概念,假设指针所指向的类型有了,但是该指针被没有初始化,所以它指向的 内存区是不存在的。
4.指针本身所占据的内存区:利用单目预算符sizeof(指针的类型)。
sizeof(char) | 1 |
sizeof(short) | 2 |
sizeof(int) | 4 |
sizeof(long) | 4 |
sizeof(float) | 4 |
sizeof(double) | 8 |