独闷闷网

 找回密码
 立即注册
搜索
查看: 4777|回复: 4
收起左侧

[原创] 傅艺成告诉你为什么单片机能直接寻址和间接寻址,并且支持指针变量。

[复制链接]
发表于 2014-10-10 11:00:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
谈论一个问题:
为什么单片机,CPU这些芯片可以有间接寻址?已经有直接寻址了为什么还要有间接寻址,为什么会出现指针变量?有什么好处?

惠州-傅艺成:
我的答案是:因为CPU芯片内部有地址解码器硬件模块,所以CPU单元可以通过解码器把指针变量的数据(另外一个内存单元的地址值)解码后就找到目标单元,然后就通过数据总线取得目标单元的数据。指针好处是可以到处指,指向连续的内存单元,操作很方便。更重要的是有了指针,让链表成为可能。链表是数据库的核心。也让函数指针,结构体指针等等的数据类型操作更方便。大家谈谈更多的好处。



乐于分享,勇于质疑!
发表于 2014-10-10 11:03:31 | 显示全部楼层
指针固然好,单不可乱用,程序很容易跑飞!
乐于分享,勇于质疑!
发表于 2014-10-10 11:11:50 | 显示全部楼层
hobbye501 发表于 2014-10-10 11:03
指针固然好,单不可乱用,程序很容易跑飞!

不过单片机的C语言指针应该不会到处跑,相对比电脑编程的指针要安全一点。
乐于分享,勇于质疑!
发表于 2014-10-10 16:11:55 | 显示全部楼层
功功 发表于 2014-10-10 11:11
不过单片机的C语言指针应该不会到处跑,相对比电脑编程的指针要安全一点。

你错了,单片机因为结构,空间限制,指针乱飞的话很危险,PC端的话还好,单片机就危险了!!新手建议少用指针,老手也尽量不在低端的单片机用指针;
乐于分享,勇于质疑!
发表于 2014-10-10 16:12:17 | 显示全部楼层
功功 发表于 2014-10-10 11:11
不过单片机的C语言指针应该不会到处跑,相对比电脑编程的指针要安全一点。

你错了,单片机因为结构,空间限制,指针乱飞的话很危险,PC端的话还好,单片机就危险了!!新手建议少用指针,老手也尽量不在低端的单片机用指针;
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-6-18 11:49 , Processed in 0.131365 second(s), 17 queries .

快速回复 返回顶部 返回列表