指针的定义使用

1、什么是指针?

指针是一个变量,指针变量简称指针,其值是地址,即变量在内存中的位置。指针就是用来保存某个变量在内存中的位置。指针就是一个地址
如何理解地址?
每个变量声明后,在内存中都会有一个位置,就相当于在内存中的编号,这个编号就像是每个人的家庭住址,这个编号是一个十六进制数,这个数就是地址
2、指针的声明
一级指针
数据类型 * 指针名;
如:
int* a; //a是指针变量名,a才表示的一个地址,而不是*a
float *b;
char *c;
void *d; //泛型指针,指针的固定都是8字节
void e; //不允许,因为void没有大小,

【我的理解】:c语言每个变量存在都是有地址的,如果说没有地址就不能存在,例如void e; 是不能存在的
二级指针
数据类型 ** 指针名;
如:int **a;
二级指针是用来存放一级指针的地址。
【我的理解】:就是地址的地址
3、指针的初始化
①指向一个变量的地址
int a = 10;
int *p = &a; //p === &a 这里p就是地址,如何给才常数a取地址
②指向NULL
int *p = NULL; //NULL就是(void *)0
int *p = 0x12345678; //不能给指针直接赋值一个地址
③指向一个指针
int a = 10;
int *p = &a;
int *q = p; //将一个指针的值赋值给另一个指针
二级指针初始化:
int *p = &a;
int **q = &p;
4、指针的使用
int a = 10;
int p = &a; //此处的“”表示p是一个指针变量
p = 20; //此处的“”表示对指针p进行解引用(取地址中的内容) *p就相当于是一个常数
printf(“%p”,p) //%pj就是打印地址
int **q = &p;
**q = 30;
5、指针的运算
++ – + -

q-p两个指针只能相减,不能加乘除

单独使用
// * :是解引用
// & :赋地址
//*&:可以抵消(有些情况不能)
只能指针才能解引用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

提拉米苏yes

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值