jianhong_wu 发表于 2014-10-10 11:00:32

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

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

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



hobbye501 发表于 2014-10-10 11:03:31

指针固然好,单不可乱用,程序很容易跑飞!

功功 发表于 2014-10-10 11:11:50

hobbye501 发表于 2014-10-10 11:03
指针固然好,单不可乱用,程序很容易跑飞!

不过单片机的C语言指针应该不会到处跑,相对比电脑编程的指针要安全一点。

hobbye501 发表于 2014-10-10 16:11:55

功功 发表于 2014-10-10 11:11
不过单片机的C语言指针应该不会到处跑,相对比电脑编程的指针要安全一点。

你错了,单片机因为结构,空间限制,指针乱飞的话很危险,PC端的话还好,单片机就危险了!!新手建议少用指针,老手也尽量不在低端的单片机用指针;

hobbye501 发表于 2014-10-10 16:12:17

功功 发表于 2014-10-10 11:11
不过单片机的C语言指针应该不会到处跑,相对比电脑编程的指针要安全一点。

你错了,单片机因为结构,空间限制,指针乱飞的话很危险,PC端的话还好,单片机就危险了!!新手建议少用指针,老手也尽量不在低端的单片机用指针;
页: [1]
查看完整版本: 傅艺成告诉你为什么单片机能直接寻址和间接寻址,并且支持指针变量。