C语言编程:解析声明符与指针类型

需积分: 36 48 下载量 108 浏览量 更新于2024-08-10 收藏 3.81MB PDF 举报
"这篇文档是关于C语言编程的,源自Brian W. Kernighan和Dennis M. Ritchie合著的经典书籍《C Programming Language》第二版。书中详细讲解了C语言的各种特性和程序设计方法,涵盖了基本概念、类型和表达式、流程控制、函数、指针和数组、结构体、输入输出、UNIX系统接口以及标准库等内容。" 在C语言中,声明符是用于定义变量、函数等标识符类型和存储属性的关键部分。A.8.6章节中解释了声明符的含义,指出声明符表跟在类型说明符和存储类说明符序列之后,声明一个唯一的标识符,这个标识符的类型由声明符的形式决定。 声明符通常可以表示为"T D"的形式,其中"T"代表类型,"D"代表声明符。比如,如果声明"int x",那么"T"是"int","D"是"x",标识符"x"的类型就是"int"。 声明符可以是嵌套的,例如"D1"可以是"(D2)",这不影响类型,但会影响声明符的解析顺序。例如,如果"D1"是"*(int *)p",那么"p"的类型是"指向int的指针的指针"。 指针声明符的规则是关键部分。在声明"T *D1"中,如果"D1"的类型是"类型修饰符 T",那么"D"的类型就是"类型修饰符 指向 T 的指针"。这里的星号"*"后的类型限定符是针对指针本身的,不是指针所指向的对象。例如,"int *ap[]"声明了一个"int类型的指针数组",而"int i, *pi, *const cpi = &i;"声明了整型变量i,指向整型的指针pi,以及一个指向整型的常量指针cpi,并将其初始化为变量i的地址。 这本书不仅是学习C语言的标准参考,也是进行程序设计的基础教程,适合大学计算机专业和非专业的学生作为教材,同时也适合计算机软硬件开发的工程师作为参考资料。书中通过实例和清晰的解释,使得复杂的概念变得易于理解,实用性极强。