C语言中的三大定律

自己总结的,觉得能帮助初学者看透一些纷繁复杂的语法规则,理解C语言的真谛
第一次发布,不一定正确,欢迎讨论、指正、补充

1. 表达式定律

任何能产生数值结果的运算、操作都可以作为表达式,并可以放到任何需要数值结果的地方,只要数值类型能够匹配

常见的可以产生数值结果的运算和操作

  • 算术、逻辑、位运算等
  • ? :
  • &、*等操作
  • 有返回值的函数

 常见的需要数值的地方有:

  • 赋值
  • 条件判断
  • 函数调用

2. 类型定律

任何类型都可以在任何需要类型的地方使用;用任何类型定义的变量都要占用内存

已知特例

  • 函数返回值不能定义为数组类型

常用类型

  • 基本数据类型、指针、数组、结构……

常见的需要类型的地方

  • 定义变量
  • 定义指针、数组和结构
  • 函数参数和返回值
  • sizeof

3. 参数传递定律

函数调用时的参数传递永远都是传值调用,把实参的值拷贝给形参

  • 实参:调用者提供的参数
  • 形参:函数定义的参数
  • 基本数据类型无容置疑
  • struct也无容置疑
  • 指针作为参数时,把指针变量的内容(就是其指向的内存地址)做了拷贝
  • 数组名作为参数时,把它等同于指针看待了

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值