1指针概念:
指针就是地址,是内存中一个最小单元的编号
指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型、指针所指向的类型、指针的值或者叫指针所指向的内存区、指针本身所占据的内存区。
-
- 指针的类型:
把指针声明语句里的指针名字(变量名)去掉,剩下的部分就是这个指针的类型。
1: int *pr; //指针的类型是int*
Char *pr; //指针类型是char
Int **pr //指针类型是int**
int(*pr)[3] //指针类型是int(*)[3]
int*(*pr)[4] //指针类型是int*(*)[4]
-
- 指针所指向的类型:
你只须把指针声明语句中的指针名字和名字左边的指针声明符*(*和变量名)去掉,剩下的就是指针所指向的类型。
int*p; //指针所指向的类型是int
char*p; //指针所指向的的类型是char
int**p; //指针所指向的的类型是int*
int(*p)[3]; //指针所指向的的类型是int()[3]
int*(*p)[4]; //指针所指向的的类型是int*()[4]
1.3指针的值
指针的值是指针本身存储的数值,这个值将被编译器当作一个地址,而不是一个一般的数值。在32 位程序里,所有类型的指针的值都是一个32 位整数,因为32 位程序里内存地址全都是32 位长。指针所指向的内存区就是从指针的值所代表的那个内存地址开始,长度为si zeof(指针所指向的类型)的一片内存区。(32os中指针内存为4字节,64os中指针内存为8字节)。
1.4指针本身所占据的内存区
指针本身占了多大的内存?你只要用函数sizeof(指针的类型)测一下就知道了。在32 位平台里,指针本身占据了4 个字节的长度,在64为平台里,指针本身占据了8个字节长度。(指针的大小只与平台有关)


本文详细介绍了C++中的指针概念,包括指针的类型、指针所指向的类型、指针的值以及指针本身所占据的内存区。指针是一个存储内存地址的特殊变量,其类型由声明决定,如int*、char*等。指针所指向的类型则是去掉指针声明符后的类型,如int、char等。指针的值即内存地址,而指针本身在32位系统中通常占用4个字节,在64位系统中则为8个字节。
1万+





