1。 理解C语言声明的优先级规则
char* cpp; //cpp是一个指向char的指针
const char* cp; //cp是一个指向有const限定符的char的指针
cpp = cp; //这样是合法的,因为“左操作数具有右操作数所所指向类型的限定符(空),再加上自身的限定符(const)。
cp = cpp; //!!这样是不合法的。因为它们指向的类型不一样,一个是指向char,一个指向const char
A。 声明从它的名字开始读取,然后按照优先级顺序依次读取。
B。 优先级从高到低依次是:
B。 1。 声明中被括号括起来的那部分
B。 2。 后缀操作符:
() 表示这是一个函数
[] 表示这是一个数组
B。 3。 前缀操作符: 星号*表示“指向...的指针“
C。 如果const和(或)volatile关键字的后面紧眼类型说明符(如int, long等),那么它作用于类型说明符。在其他情况下,const和(或)volatile关键字作用于它左边紧邻的指针星号。
所以有:
char* cpp; //cpp是一个指向char的指针
const char* cp; //cp是一个指向有const限定符的char的指针
cpp = cp; //这样是合法的,因为“左操作数具有右操作数所所指向类型的限定符(空),再加上自身的限定符(const)。
cp = cpp; //!!这样是不合法的。因为它们指向的类型不一样,一个是指向char,一个指向const char
实例分析:
char* const *(*next)();
首先提取next,它被括号包住,表示“next是一个指向...的指针”
接着重新从步骤2开始,得出“next是一个函数指针”,该函数参数列表为空
接着走到步骤5,得出“该函数返回一个指向...的指针”
最后剩下char* const表示“指向字符的常量指针”
所以char* const* (next)()声明:next是一个指向函数的指针,该函数返回另一个指针,它指向一个只读的指向字符的指针。
- 大小: 53.1 KB
分享到:
相关推荐
Horton拥有丰富的教学经验(教学内容包括C、C++、Fortran、PL/1、APL等),同时还是机械、加工和电子CAD系统、机械CAM系统和DNC/CNC系统方面的专家。IvorHorton还著有关于C、C++和Java的多部入门级好书,如《C语言入门...
Steve Summit,著名的C语言专家。Usenet C FAQ的创始人和维护者,有近30年的C编程经验。毕业于麻省理工学院。他曾在华盛顿大学教授C语言课程多年。除本书外,他还与人合著了C Unleashed一书。 编辑推荐 全球C语言...
热门Tag JAVA C++ linux C# 教程 C语言 android 源码 PDF 编程 sql c Windows matlab ORACLE 源代码 api 中文 数据库 arm JavaScript 破解 数据结构 vc visual jQuery 计算机 答案 单片机 php JSP mfc .NET 中文版 ...
Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐) 基本信息 原书名: Pro Oracle SQL 原出版社: Apress 作者: (美)Karen Morton Kerry Osborne Robyn Sands Riyaj Shamsudeen Jared Still 译者: 朱...
嵌入式系统应用工程师借用计算机专家创建的C语言,使嵌入式系统应用得以飞速发展,而MISRA C是嵌 入式系统应用工程师对C语言嵌入式应用做出的贡献。如今MISRAC已经被越来越多的企业接受,成为用于嵌入式 系统的C语言...
李文娟,中国石油大学(华东)硕士,现供职于国家行政学院,工作后一直从事软件开发和软件项目管理工作,对计算机语言、计算机体系结构、操作系统都非常熟悉,尤其是精通C和C++编程技术. 目录 封面 -19 封底 -18 扉页...
本书是根据著名C语言专家HerbertSchildt的著作翻译的。这是一本关于C++语言的百科全书,包括C和C++的命令、功能、编程和应用等方面的内容。全书分为五个部分:C++基础:C子集;C++的专有特征;标准函数库;标准C++...
GCC系统庞大而笨重,因此,Apple决定从零开始写C、C++、Objective-C语言的前端Clang,以求完全替代掉GCC。 Clang于2007年开始开发,C编译器最早完成,在2009年的时候,Objective-C编译器已经完全可以用于生产环境,...
第2章讲解了在保证与C语言和旧版C++标准充分兼容的原则下增加的一些新特性;第3章讲解了具有广泛可用性、能与其他已有的或者新增的特性结合起来使用的、具有普适性的一些新特性;第4章讲解了C++11新标准对原有一些...