轻松拿下烦人的C语言指针系列<一>

目录

一:指针是什么呢?

二:那地址是如何产生的呢?

三:地址的大小

四:关于指针的两个操作符和实例

1.取地址操作符(&) 和解引用操作符(*)

2.实例​编辑

3.指针变量类型的意义

五:野指针的产生原因和避免方法

1.野指针的产生原因一:未初始化

原因二:指针越界访问 

原因三:指向销毁的局部变量

 六:数组名的两个特殊

特殊一:在用sizeof求数组元素个数时

特殊二:&数组名,此时数组名是整个数组的地址

七:分享结束,谢谢观看

听说看到日落金山的人,接下来的日子会顺顺利利,万事胜意,生活明朗-----------林辞忧 


 废话不多说,直接上干货:

一:指针是什么呢?

1.简单理解,指针就是地址。在创建一个变量的时候,内存会划分为一个个的内存单元,每个内存单元都有其独立的编号,则这个编号就是地址,即指针

2.指针(地址)需要存储到变量中,这个变量就是指针变量

二:那地址是如何产生的呢?

1.地址是物理的电线上产生的,分为32位机器和64位机器各有不同。每根电线上只能产生0/1

2.32位机器-----有32根电线-----32个由0/1组成的二进制序列这个二进制序列就作为地址,用32个比特位也就是4个字节来存储

3.64位机器-----有64根电线----64个由0/1组成的二进制序列这个二进制序列就作为地址,用64个比特位也就是8个字节来存储

三:地址的大小

有地址的由来得知,指针(地址)的大小是固定的位4/8个字节(32位机器/64位机器)

四:关于指针的两个操作符和实例

1.取地址操作符(&) 和解引用操作符(*)
2.实例
3.指针变量类型的意义

根据上面的介绍指针变量的大小是固定的4/8个字节 ,那么指针变量的类型如 int *,char*等有啥区别的嘛,答案是有很大区别如下所示:

五:野指针的产生原因和避免方法

1.野指针的产生原因一:未初始化

原因二:指针越界访问 

原因三:指向销毁的局部变量

 六:数组名的两个特殊

我们知道数组名表示首元素的地址,那么一定是这样的嘛,其实不然,有例外

特殊一:在用sizeof求数组元素个数时

特殊二:&数组名,此时数组名是整个数组的地址

可以看出&a表示整个数组的地址 

七:分享结束,谢谢观看

  • 29
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值