`
evasiu
  • 浏览: 168951 次
  • 性别: Icon_minigender_2
  • 来自: 广州
博客专栏
Fa47b089-e026-399c-b770-017349f619d5
TCP/IP详解卷一>阅读...
浏览量:12524
社区版块
存档分类
最新评论

C专家编程--分析C语言的声明

阅读更多

 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
分享到:
评论

相关推荐

    C语言的--类型标识符

    总的来说,理解和熟练运用这些知识点是成为C语言编程专家的基础,它们涵盖了程序设计的核心要素,对理解程序的运行机制和优化代码性能至关重要。在实际编程中,应灵活运用这些知识,以编写高效、清晰的C语言程序。

    苏小红-C语言程序设计-资料包

    《苏小红-C语言程序设计》是一套针对初学者精心编排的C语言教学资源,由教育专家苏小红教授倾力打造。该资料包涵盖了从基础到进阶的C语言编程知识,旨在帮助学习者逐步掌握这门强大的编程语言。 在资料包中,包含了...

    编译原理-山寨版-简化C语言编译器-简单易学

    《编译原理-山寨版-简化C语言编译器-简单易学》是一个面向初学者的编译原理教程,由一位国内知名IT公司的技术专家撰写。这个教程的特点是使用通俗易懂的语言,避免了深入复杂的理论和公式,使得非专业背景的读者也能...

    c语言编程学习专家教程

    ### C语言编程学习专家教程知识点概述 C语言作为一种结构化编程语言,在计算机科学领域具有举足轻重的地位。本教程旨在为初学者提供一个全面、系统的学习路径,帮助他们掌握C语言的基础知识与高级特性,并能够运用...

    C语言程序设计-经典教程(非扫描版 非谭).rar

    《C语言程序设计-经典教程》是一本专为初学者设计的C语言学习资源,它提供了全面而深入的C语言教学内容,旨在帮助读者理解C语言的基础知识和编程技巧。这个非扫描版非谭的教程可能意味着它并非由知名教师谭浩强编写...

    怎样成为c语言的专家

    以下是一些关键的知识点,将帮助你踏上成为C语言专家的旅程: 1. **基本语法**:首先,你需要掌握C语言的基本语法,如变量定义、数据类型(整型、浮点型、字符型等)、运算符、控制流程(if-else、switch-case、for...

    资深专家教你如何用c语言高级编程

    资深专家通过《资深专家教你如何用C语言高级编程》这一文档,旨在帮助读者提升对C语言的掌握程度,以应对包括微软、百度、Google等知名IT公司在内的面试挑战。 1. **C语言基础**: 首先,理解C语言的基础至关重要,...

    C语言--笔试面试大全

    C语言,作为一种基础且强大的...同时,不断关注最新的技术趋势和行业动态,将有助于你保持竞争力,成为真正的C语言专家。这个"**C语言--面试大全**"资源应该包含各种题目、解答和解析,是你准备C语言面试的理想资料。

    C语言编程从入门到精通

    通过这个"从入门到精通"的C语言教程,你可以逐步学习并掌握这些概念,通过实践不断巩固,最终成为C语言编程的专家。同时,教程中的详细注释和丰富的代码示例将帮助你更好地理解和应用所学知识,解决实际问题。无论是...

    C语言经典案例集1-4章 何钦铭

    《C语言经典案例集1-4章 何钦铭》是一部深入浅出的C语言学习资料,由知名编程教育专家何钦铭编写。这个压缩包包含的是一系列实验案例的代码,旨在帮助初学者和进阶者巩固C语言的基础知识,提升编程能力。通过实践...

    C语言-从白痴到资深专家阶梯式教程

    C语言是一种强大的、通用的编程语言,被广泛用于系统编程、软件开发、设备驱动编写以及嵌入式系统等。这个“C语言-从白痴到资深专家阶梯式教程”旨在帮助初学者逐步掌握C语言的核心概念,并通过实践提升至高级水平...

    C语言三剑客

    《C语言三剑客》是一套全面而深入的C语言学习资源,包含了三本经典著作:《C和指针》、《C专家编程》以及《C陷阱与缺陷》。这三本书分别从不同角度和层次解析了C语言的精髓,是编程初学者和资深开发者提升C语言技能...

    c语言教程-唐浩强版

    《C语言教程 - 唐浩强版》是一本深入浅出介绍C语言的经典教材,由知名计算机教育专家唐浩强编写。这本书以其清晰的逻辑结构、丰富的实例和详尽的解释,深受广大编程初学者及专业人士的喜爱。下面将详细阐述该教程中...

    北大c语言高级编程PPT

    【北大C语言高级编程PPT】是一份专为学习者深度探索C语言设计的教学资料,由北京大学的专家或教师编撰。这份PPT涵盖了C语言的高级概念和技术,旨在帮助学员提升编程技能,掌握更复杂的程序设计技巧。C语言作为一门...

    C语言--谭浩强习题答案集

    谭浩强教授是计算机编程领域内的知名专家,他的书籍以其易懂、实用的特点深受广大读者喜爱,特别是对于C语言的教学,他的贡献是无法忽视的。 C语言是一种基础且强大的编程语言,它在计算机科学领域有着广泛的应用。...

    C语言知识列表 ——》C专家

    - **结构化编程**:C语言支持结构化编程,这使得程序更容易理解、维护和扩展。 - **高效性**:C语言编写的程序通常执行效率高,因为它们接近于机器代码。 - **简洁性**:C语言语法简洁,关键字数量较少,易于学习和...

    C语言入门教程菜鸟到专家

    ### C语言入门教程:从菜鸟到专家 #### C语言简介 C语言是一种广泛使用的通用编程语言,由贝尔实验室(AT&T)的丹尼斯·里奇(Dennis Ritchie)于20世纪70年代初开发。它最初是为了构建UNIX操作系统而设计的,但...

Global site tag (gtag.js) - Google Analytics