C语言中的三大定律

自己总结的,觉得能帮助初学者看透一些纷繁复杂的语法规则,理解C语言的真谛
第一次发布,不一定正确,欢迎讨论、指正、补充
  1. 表达式定律
  
  任何能产生数值结果的运算、操作都可以作为表达式,并可以放到任何需要数值结果的地方,只要数值类型能够匹配
  常见的可以产生数值结果的运算和操作
  
  算术、逻辑、位运算等
  ? :
  &、*等操作
  有返回值的函数
  常见的需要数值的地方有:
  
  赋值
  条件判断
  函数调用
  2. 类型定律
  
  任何类型都可以在任何需要类型的地方使用
  
  已知特例
  
  函数返回值不能定义为数组类型
  常用类型
  
  基本数据类型、指针、数组、结构……
  常见的需要类型的地方
  
  定义变量
  定义指针、数组和结构
  函数参数和返回值
  sizeof
  3. 参数传递定律
  
  函数调用时的参数传递永远都是传值调用,把实参的值拷贝给形参
  
  实参:调用者提供的参数
  形参:函数定义的参数
  基本数据类型无容置疑
  struct也无容置疑
  指针作为参数时,把指针变量的内容(就是其指向的内存地址)做了拷贝
  数组名作为参数时,把它等同于指针看待了

 感谢原创者的辛勤劳动,希望对您有所帮助,转载请注明原出处。
 您可能对 [C & C++] 的这些文章也感兴趣:

C++中用函数模板实现和优化抽象操作
C++数据结构学习:递归(3.1)
C语言中的三大定律
使用C++和XML建立智能文档(一)
C++数据结构学习:二叉树(3)
轻轻松松C to C++ (二)
在 Linux 中使用共享对象
C/C++中指针学习的两个绝好例子
C++数据结构学习:栈和队列
C语言之声明的语法