C语言文法阅读与理解

<翻译单元>--><外部声明>--><函数定义>|<申报>

<函数定义>--><声明说明符>--><声明符>--><申报>|<复合语句>

<声明说明符>--><存储类说明符>|<类型说明符>|<类型限定符>

<存储类说明符>-->"auto | register | static| extern | typedef"

<类型说明符>-->"void| char| short| int| long| float| double| signed| unsigned"| <struct-or-union-specifier>| <enum-specifier>| <typedef-name>(结构或联合说明符,枚举符,类型定义名称)

<结构或联合说明符>--><结构或联合> <标识> <“{“{<结构声明>} +”}”> | <结构或联合>”{“{<结构声明>} +”}” | <结构或联合> <标识符>

<结构或联合>-->”结构” | “联合”

<结构声明> --> {<说明限定符>} * <结构说明符列表>

<说明限定符> --> <类型说明符>| <类型限定符>

<结构说明符列表> --> <结构说明符>| <结构说明符列表> “,”<结构说明符>

<结构说明符>--><说明符>| <声明符>“:”<常量表达式>|“:”<常量表达式>

<声明符> -->{<指针>}?(-->“*”{<类型限定符>} * {<指针>}?)<直接说明符>

时间: 2024-12-26 15:10:14

C语言文法阅读与理解的相关文章

C语言文法阅读与理解序

<指针>→*  | * < 指针> <直接声明符>  <标识符> | <直接声明>[]| <直接声明>[常量表达式] | <标识符>(参数表) | <标识符>() | <直接声明>,< 标识符列表> <标识符列表>:<标识符> | <标识符列表>,<标识符> <常量表达式>→<条件表达式> <参数列表>→

1014 C语言文法定义与C程序的推导过程 程序:冒泡算法C程序(语法树)

1014 C语言文法定义与C程序的推导过程  程序:冒泡算法C程序(语法树)1 阅读并理解提供给大家的C语言文法文件. 2 参考该文件写出一个自己好理解版的现实版的完整版的C语言文法. 3 给出一段C程序,画出用上述文法产生这段C程序的完整语法树. 程序:冒泡算法C程序 点此文字查看原图(完整图片) 1 #include <stdio.h> 2 3 main() 4 { 5 int i,j,temp; 6 int a[10]; 7 8 for(i=0;i<10;i++) 9 scanf

JDK部分源码阅读与理解

本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/05/31/JDK部分源码阅读与理解/ 不喜欢重复造轮子,不喜欢贴各种东西.JDK代码什么的,让整篇文章很乱...JDK源码谁都有,没什么好贴的...如果你没看过JDK源码,建议打开Eclipse边看源码边看这篇文章,看过的可以把这篇文章当成是知识点备忘录... JDK容器类中有大量的空指针.数组越界.状态异常等异常处理,这些不是重点,我们关注的应该是它的一些底层的具体实现,这篇

1029c语言文法2理解

program → external_declaration | program external_declaration <程序>→ <外部声明>|<程序><外部声明> external_declaration → function_definition | declaration <外部声明>→ <函数定义>|<声明> function_definition à type_specifier declarator co

1029对c语言文法的理解

<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→<类型说明><声明><复合语句> <类型说明>→void|char|int |float <声明>→<指针直接说明符>|<直接说明符> <指针>→’*‘|'*'指针 <直接说明符>→<标识符>|&

1029-对c语言文法的理解

<程序>→<外部声明>|<程序><外部声明> <外部声明>→<函数定义>|<声明> <函数定义>→<类型说明><声明><复合语句> <类型说明>→void|char|int |float <声明>→<指针直接说明符>|<直接说明符> <指针>→’*‘|'*'指针 <直接说明符>→<标识符>|&

C语言02基础深入理解(二)

指针基础 变量回顾 既然程序中的变量只是一段存储空间的别名 , 那么是不 是必须通过这个别名才能使用这段存储空间 ? 指针本质 ?  指针在本质上也是一个变量 ?  指针需要占用一定的内存空间 ?  指针用于保存内存地址的值 * 号的意义 ?  在指针声明时 ,* 号表示所声明的变量为指针 ?  在指针使用时 ,*  号表示取指针所指向的内存空间中的值 // 指针声明 : int i = 0; int j = 0; int* p = &i; // 取值 : j = *p; p: 0xAABBCC

对于《C程序设计语言》的一点理解

想必学C语言的人大都看过这一经典书籍.对于我来说,处于不同学习层次,阅读这本书的感觉是不一样的,每次阅读都会有一番新的感悟.第一次阅读时先读的英文版,读的很困难,主要是记录不会的单词:第二遍就顺利多了,但是对于其中的内容缺乏较深入的了解:第三遍就直接买了机械工业出版社出版的中文版,尝试读了一遍,但是对于后面几章特别是指针部分几乎读不下去:然后就开始做上面的练习,主要是做了前6章的练习,这其中费了不少时间和精力,还有一部分练习没有做. 对了,需要对这一分类下的博文做出几点说明. ①笔记中所说的[教

如何快速阅读并理解英文的技术文档

作为一名程序员,要实现我们的产品,首先需要选择一种或几种编程语言,其次是使用各种工具和第三方库. 而在这个过程中,就少不了对这些语言.工具和第三方库的下载和学习. 下载一般都非常简单,但是关于如何使用,相信大家都会有各种各样的学习方法. 但是不管通过什么方式,追根溯源都会来到官方文档. 那么问题就来了!目前来说,大部分的官方文档都是英文的,如何才能快速的理解并使用官方文档呢? 今天,把自己的学习方法拿出来,和大家一起分享一下,希望大家可以尽量少走一些弯路,尽快的找到bug的解决方法. 说起来很简