学习C语言的指针

有一阵没更新了,因为最近比较繁忙,所以更新比较慢,还在慢慢学习

话不多说,开始今天的内容,聊一聊C语言指针。


很多小伙伴可能会被指针这个名字吓到,觉得很难,实际上确实有点难,但是想学就一定能学会。

一、关于指针的理解

指针,在我通俗的理解下就是指向一块儿空间的地址,给你设置的变量找了块儿地方存储数据,进了门,空间里面存放着你的变量值,假设当你设置一个变量值 a 的时候,我们的计算机会找一个地方,生成一个门牌号,开辟一块儿空间,当你写入 int a = 0 的时候,那块儿空间就会放入你的定义的值,画个图给大家理解:

然后再继续聊,那么计算机开辟的空间有多大,它根据什么来确定开辟空间的大小呢?

其实答案很简单,就是我们常用的那些变量类型如下:

int                4个字节

char             1个字节

double         8个字节

float             4个字节

short            2个字节

long             4个字节

......

所以空间大小是由变量类型决定的。 

 二、指针的基础运用

指针 = &变量

*指针 = 指针

PS:指针也是一种变量类型,一般是4个字节,其具体表现形式如下所示:

int *               4个字节

char *            1个字节

double *        8个字节

float *            4个字节

short  *          2个字节

long *            4个字节

......

如果我们想得到你写的变量 a 的地址,那么就需要用到取地址操作符 & ,举个简单的例子:

那么怎么用指针呢,在放个图片供大家理解: 

下面这张图说明本质上,指针就相当于是地址: 

下图是基本的一个指针访问数据: 

 

三、野指针

1. 对野指针的理解:

对我而言,野指针就像是开辟了一个空间,但是具体在哪开辟,我们是完全不知道的,全靠随机,就不太友好

2.为什么会产生这种现象呢?

  • 可能是因为指针没有初始化(没有初始化,指针为随机值)
  • 指针越界访问(就像给你一个数组,你访问了不存在数组里地址)
  • 指针指向的空间释放(多出现在函数运用,形参实参那里)

    我们写代码要注意以上三条问题,避免出错


今天分享就到这里啦,根据情况大家可以下来多找一些资料理解

永远不要停下脚步,慢一点也不要止步不前。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值