3.指针

1.&运算符

变量有2个维度。 一个是变量的值。 一个是变量所在内存的地址。

&表示取地址符,用于获取变量的内存地址。

2.指针定义

指针就是一个值为内存地址的变量。就如int类型变量的值是整数,char类型变量的值是字符,指针类型变量的值为地址。

int a = 1;

ptr = &a;  // ptr就是指针变量,存的是a的地址。 我们可以说ptr指向a。
3. 间接运算符:*

* 运算符作用于指针类型,可以获取或修改指针所存内存地址上的值。

int a = 1 ;  //变量a的值为1

ptr=&a;// 指针存了a的内存地址

var = *ptr    // 获取指针所存内存地址上的值,即a的值
4.指针类型的声明

声明指针变量时,必须指定指针所指向变量的类型。(因为不同类型变量占用内存大小不同,一些指针操作要求我们知道操作对象的大小)

pointer ptr; // 指针类型不能这样声明。

指针类型变量p声明方式如下:

int * p;

  • 首先前边的int表示 指针类型所指向的变量的类型。

  • 此处的* 跟上边的间接运算符不同,*p也不表示获取指针p所存内存地址上的值。 仅仅表示p是一个指针变量。

  • 声明和使用中*p代表的含义不同这点非常重要。声明中int *p表示一个指针变量, 使用中 *p表示 取指针p所存内存地址的值。

你可能感兴趣的:(3.指针)