第二章 指针操作

第二章 指针操作 

在C语言中,对于任何类型T,我们都可以在T所在的内存地址处产生一个包含此对象地址的相对应的变量。如果用比较直观方式来看待这种变量,它们实际上是一种指向对象的变量,因此,这些变量被称之为指针。在C语言中指针的重要性不言而喻,但在很多时候指针被又被认为是一把双刃剑。一方面,指针是构建数据结构和操作内存的精确而高效工具。另一方面,它们又很容易被错误地使用,从而产生不可预知的软件bug。了解到这一点之后,就不奇怪为什么C语言程序员喜欢指针,而其他很多人对它深恶痛绝。无论如何,想要有效的使用C语言,我们必须对指针有透彻的了解。本章介绍了关于指针的几个重要主题,并同时介绍了几种使用指针的技术,这几种技术将贯穿整本书。

 

本章内容包括: 

指针基础

一方面,知道理解指针的最佳方法:画图表。另一个方面是学习在使用基本指针的过程中如何避免空指针产生。 

存储空间分配

存储分配是指在内存中预留存储空间的过程。理解指针与内存分配是密不可分的非常重要,当通过指针访问内存时,其意义就如同一个虚拟的菜谱一样,指针(内存地址)对应菜名,其所指向的内存空间中的数据对应着实际的菜。 

数据集合与指针的算术运算

在C语言中,数据集合主要指结构和数组。指针的算术运算定义了指针的计算规则。指向结构的指针对于建立数据结构起着至关重要的作用。在C中,数组和指针一样,都是以指针算术运算的方法进行运算的。 

作为函数参数的指针

通过这种方式,可以按照传引用的方法传递函数参数。在C语言传递数组或大型结构时,这是一种普遍而高效的方法。 

指向指针的指针

这是一种指向指针的指针,而不是指向具体变量的指针。指向指针的指针作为函数的参数来传递是非常普遍的。 

泛型指针与类型转换

泛型指针和类型转换是用来跨越C语言类型系统一般规则的途径。泛型指针指向某一数据而不需要理会数据的具体类型。类型转换允许我们临时的改变数据的类型。 

函数指针

指针指向可执行代码段或指向调用可执行代码段的信息块,而不是指向某种具体数据。它们把函数当作一小段数据来存储和管理。

 

第二章 指针操作

    2.1 指针基础

    2.2 存储分配

    2.3 数据集合与指针的算术运算

    2.4 作为函数参数的指针

    2.5 泛型指针与类型转换

    2.6 函数指针

    2.7 问与答

    2.8 相关主题

 

PS:

1、此书(Mastering Algorithms with C)译稿版权归本人(Love_Lei)及好友(bigship)共同所有,未经本人同意谢绝一切转载,并不得抄袭,模仿,盗版!更请大家监督盗版之人!

2、由于本人水平有限,如对译文有任何建议和异议,欢迎大家留言指正,我们共同讨论学习!谢谢!

 

你可能感兴趣的:(数据结构,c,存储,语言,工具)