C语言中对地址的操作有什么作用??

来源:百度知道 编辑:UC知道 时间:2024/06/05 23:52:03
我在学习C语言时遇到了对地址操作的讲解,虽然听明白了怎么操作,但是为什么要对地址进行操作,对地址操作可以实现那些功能我还不知道.因此我学习对地址的操作时的兴趣很低.

如果地址是门牌号,那么数据就是门里面的东西
你得找到这个门牌号,才能找到数据,对数据进行操作

然后,大量的数据之间是有关系的 如果数据之间是排队的链条关系
如果我要找数据的话,我只要把地址一次一次地+1 就找到了我想要的数据了

就像小区和小区里面的某个住宅一样
地址也有这样的分别
用这样的观点 好好思考操作地址的好处

地址操作,也即指针的使用,指针是c一大特点,c是介于高级语言(C++等)与低级语言(汇编)的一种语言,c比其他高级语言更接近底层硬件,而接触到硬件就避免不了地址操作,灵活的指针使用可以编出高效的程序。

具体的好处,看下网上搜的:

关于指针的本质和基本的运算符我们讨论过了,在这里,我想再笼总地谈一谈使用指针的必要性和好处,为我们今后的使用和对后面篇章的理解做好铺垫。简而言之,指针有以下好处:
1)、方便使用动态分配的数组。
这个解释我放在本系列第六篇中进行讲解。
2)、对于相同类型(甚至是相似类型)的多个变量进行通用访问。
就是用一个指针变量不断在多个变量之间指来指去,从而使得非常应用起来非常灵活,不过,这招也比较危险,需要小心使用:因为出现错误的指针是编程中非常忌讳的事情。
3)、变相改变一个函数的值传递特性。
说白了,就是指针的传地址作用,将一个变量的地址作为参数传给函数,这样函数就可以修改那个变量了。
4)、节省函数调用代价。
我们可以将参数,尤其是大个的参数(例如结构,对象等),将他们地址作为参数传给函数,这样可以省去编译器为它们制作副本所带来的空间和时间上的开销。
5)、动态扩展数据结构。
因为指针可以动态地使用malloc/new生成堆上的内存,所以在需要动态扩展数据结构的时候,非常有用;比如对于树、链表、Hash表等,这几乎是必不可少的特性。
6)、与目前计算机的内存模型相对应,可按照内存地址进行直接存取,这使得C非常适合于一些较底层的应用。
这也是C/C++指针一个强大的优点,我会在后面讲述C语言的底层操作时,