C语言笔试题总结

运算符优先级

转载:C语言运算符优先级(超详细)_yuliying的博客-CSDN博客

a+++b

  1. (a++) + b

例题:

a=0 b=1 c=2 d=3

a+++b+c+++d++

=(a++)+b+(c++)+(d++) ----->>这一步是因为运算符优先级

=0+1+2+3-------->>这一步是因为前后自增先返回地址再自增

const和指针

转载:C语言 const和指针_guanjianhe的博客-CSDN博客

常量指针

  1. 指针指向的内容是常量
  2. 不能通过这个指针改变变量的值
const int *p;
int const *p;

指针常量

  1. 指针本身是个常量,不能再指向其他地址
  2. 但是地址中保存的数值是可以改变的
int *const p;

区分常量指针和指针常量

关键在于*的位置

  • const 在*的左边--->>常量指针
  • const在*的右边---->>指针常量

巧记法:*读作指针,const读作常量  

  • int *【指针】const【常量】 p;  --->>  指针常量
  • const【常量】 int *【指针】p;  ------>> 常量指针
  • int const【常量】*【指针】p;----->>常量指针

函数传参所占空间

数组形参

  • 4字节

引用形参

  • 传过去的是整个目标的空间

结构体对齐

概念

  • 自身对齐值:数据类型本身的对齐值,例如char类型的自身对齐值是1,short类型是2;
  • 指定对齐值:数据类型本身的对齐值,例如char类型的自身对齐值是1,short类型是2;
  • 有效对齐值:自身对齐值和指定对齐值中较小的那个。

规则

  1. 不但结构体的成员有有效对齐值,结构体本身也有对齐值,这主要是考虑结构体的数组,对于结构体或者类,要将其补齐为其有效对齐值的整数倍。结构体的有效对齐值是其最大数据成员的自身对齐值;
  2. 存放成员的起始地址必须是该成员有效对齐值的整数倍。

速算法:

  • 结构体内成员自身对齐值的和<sizeof(结构体)<成员中最大的整数倍

函数参数

实参

种类

  • 常量
  • 变量
  • 表达式
  • 函数

形参 

种类

  • 变量
  • 函数指针
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值