C语言编程陷阱:语法陷阱

简介: c语言要求在函数调用时即使函数不带参数,也应该包括函数列表。是挂else问题

2.语法陷阱


  • 理解函数声明


  • C变量声明由两部分组成


  • 类型


  • 一组类似表达式的声明符(declarator)


  • 变量声明:float f;


  • 函数声明:float ff();


  • 表达式ff()的求值结果是一个浮点数
  • 指针声明: float *pf;


  • *pf是一个浮点数也就是说pf是指向浮点数的指针
  • 组台声明: float *g().(*h)();


  • g().(h)()是浮点型表达式,()结合性优先级高于即g () ->*(g()) g是个函数该函数返回值类型是指向浮点数的指针。同理h是一个函数指针,h所指向的函数的返回值为浮点型。
  • ((oid()())0);


  • 调用0地址位置的子例程


  • (void(*)0)指向返回值为void类型的函数的指针


  • 可以使用typedef来解决函数指针类型声明问题


  • 运算符优先级问题


  • 同—优先级的运算符,运算次序由结合方向所决定。


  • 简单记就是:!>算术运算符>关系运算符>&&>|>赋值运算符


  • 语句结束标志;


  • f();表示单独—个语句了。


  • eturn遗漏了—个分号;


  • 声明的结尾仅跟着函数定义时;遗漏


  • 编译器可能会将声明类型视为函数的返回值
  • switch


  • case 中break添加的合理性
  • 函数调用


  • c语言要求在函数调用时即使函数不带参数,也应该包括函数列表。
  • 是挂else问题


  • else始终与同—对括号内最近的为匹配的if结合
  • c语言中允许初始化列表中出现多余的逗号。


  • 推荐一个零声学院免费教程,个人觉得老师讲得不错, 服务器课程
目录
相关文章
|
2天前
|
网络协议 程序员 编译器
C语言:编程世界的基础与魅力
C语言:编程世界的基础与魅力
|
1月前
|
监控 网络协议 API
C语言系统编程
C语言系统编程
|
1月前
|
C语言
C语言的基本语法
C语言的基本语法
12 0
|
1月前
|
Linux C语言 开发者
Linux系统下C语言的高阶编程
Linux系统下C语言的高阶编程
15 0
|
1月前
|
存储 C语言 索引
掌握多维数组,让你的C语言编程技能暴涨!
掌握多维数组,让你的C语言编程技能暴涨!
|
1月前
|
存储 编译器 程序员
汽车电子行业的 C 语言编程标准
汽车电子行业的 C 语言编程标准
57 0
汽车电子行业的 C 语言编程标准
|
1月前
|
存储 人工智能 安全
C语言:选择+编程(每日一练Day15)
C语言:选择+编程(每日一练Day15)
51 2
|
1月前
|
C语言
C语言:选择+编程(每日一练Day13)
C语言:选择+编程(每日一练Day13)
35 0
|
5天前
|
C语言
C 语言解 常见编程题(下)
C 语言解 常见编程题
37 0
|
24天前
|
存储 程序员 C语言
C语言指针的概念、语法和实现
在C语言中,指针是其最重要的概念之一。 本文将介绍C语言指针的概念、语法和实现,以及如何使用它们来编写高效的代码。
14 0