查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 深入理解C指针 > 试读

深入理解C指针[试读]

1.1  指针和内存

C 程序员新手和老手的一大差别就在于是否对指针有深刻理解,能否高效利用指针。指针在C 语言中随处可见,也提供了极大的灵活性。指针为动态内存分配提供了重要支持,与数组表示法紧密相关,指向函数的指针也为程序中的流控制提供了更多的选择。 一直以来,指针都是学习C 语言的最大障碍。指针的基本概念很简单,就... 查看全部[ 1.1  指针和内存 ]

1.2  指针的长度和类型

如果考虑应用程序的兼容性和可移植性,指针长度就是一个问题。在大部分现代平台上,数据指针的长度通常是一样的,与指针类型无关,char 指针和结构体指针长度相同。尽管C 标准没有规定所有数据类型的指针长度相同,但是通常实际情况就是这样。不过,函数指针长度可能与数据指针长度不同。 指针长度取决于使用的机... 查看全部[ 1.2  指针的长度和类型 ]

1.3  指针操作符

指针有几类操作符。目前我们已经接触过解引和取地址操作符,本节将近距离研究指针算术运算和比较。表1-4 总结了指针操作符。 表1-4:指针操作符 1.3.1  指针算术运算 数据指针可以执行以下几种算术运算: • 给指针加上整数; • 从指针减去整数; • 两个指针相减; • 比... 查看全部[ 1.3  指针操作符 ]

1.4  指针的常见用法

指针用处很多。在本节中,我们探讨指针的不同用法,包括: • 多层间接引用; • 常量指针。 1.4.1  多层间接引用 指针可以用不同的间接引用层级。把变量声明为指针的指针并不少见,有时候称它们为双重指针。一个很好的例子就是用传统的argv 和argc 参数来给main 函数传递程序参数... 查看全部[ 1.4  指针的常见用法 ]

1.5  小结

本章讨论了指针的基本概念,包括如何声明指针,在常见的场景中如何使用指针。我们也提到了null 的有趣概念和它的变种,还有一系列指针操作符。 我们知道了指针的长度是可变的,它取决于目标系统和编译器支持的内存模型。我们也探索了const 关键字和指针一起使用的问题。 有了这些基础知识,下一步就可以探... 查看全部[ 1.5  小结 ]