指针

一、什么是指针

我们知道,每个变量都是存储在内存中的,为了访问这些变量,内存中使用地址来标记变量的位置

指针,实际上就是保存变量地址的变量

二、如何声明指针

1
typeName* pointerName = ;

例如

1
int* p;

这被称为是指向int类型的指针

注意:C++是强类型的语言,即使指向的值相等,但只要类型不同,就不能认为是同一类型的指针

这个星号仅仅是声明指针变量,与后面的解引用不同(dereference);

当声明多个指针标识符时,每个都需要用*标记

1
int *p1,*p2;

三、指针占用的字节数

使用sizeof运算符,会发现不管指向什么类型的指针,都是占用8个字节

image-20241128142813450

实际上,在32位系统上,占用的是4个字节,64位系统上,占用的是8个字节

这也说明,指向int的指针,类型不是int,因为int只占用4个字节,其他类型同理