指针

变量的内存地址

在C语言中,要获得变量的地址,需要用到**取地址运算符(Address Operator),即&.

1
printf("%p",&a);

%p格式符,表示输出变量a,b,c的地址值

地址值是用一个十六进制的无符号整数表示的,其字长一般与主机字长相同

变量的地址:变量在内存中所占内存空间的首地址

变量的值:变量在存储空间中存放的数据

变量的名字

指针的变量的定义和初始化

指针:存放变量的一种特殊类型的变量。

指针变量:具有指针类型的变量,是专门用于存储变量的地址值的变量

定义变量的形式:

类型关键字 * 指针变量名

指针变量的基类型:类型关键字代表变量要指向的变量的数据类型,

指针的初始化

指针变量未初始化意味着指针变量的值为一个随机值。

为了避免忘记指针初始化带给系统带来的潜在危险,为了防止指针乱指一气,习惯上在定义指针变量的同时将其初始化为NULL(在stdio.h中定义为零值得宏)

指向某变量的指针变量,通常简称为某变量的指针

虽然指针变量中存在的是变量的地址值,二者在数值上相等,但在概念上变量的指针不等同于变量的地址。

变量的地址是一个常数,不能对其赋值,二变量是一个变量,其值是可以改变的.

指针变量只能指向同一基类型的变量

对指针初始化的方法

  • 直接初始化
  • 间接初始化

直接初始化

类型:int *pa = &a;

间接初始化

类型:int *pa;

​ pa = &a;

间接寻址运算符

直接寻址:直接按变量名或者变量的地址存取变量内容的访问方式

scanf(“%d”,&a);

printf(“%d”,a);

间接寻址:用过指针变量间接存取它所指向的变量的访问方式

指针运算符,也称间接寻址运算符即为 * 。间接寻址运算符 * 用来访问指针变量指向的变量的值

通过 * 可以对指针变量实现解引用,即访问指针变量

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2015-2023 dwx
  • Visitors: | Views:

请我喝杯咖啡吧~

支付宝
微信