C语言小细节(二)

  • 对声明的理解
    • int i ;  含义为i为整型
    • int f() ;  含义为函数f()的返回值为整型
    • int *p ;  含义为p为指向整型的指针
    • int *g() ;  含义为函数g()返回值为指向整型的指针
    • int (*h)()  ;  含义为h指向返回值为整型的函数
  • 强制类型转换
    • 即将声明中的变量和分号去掉,再用括号括起来,就是一个强制类型转换符
    • (int (*)()) 指向返回值为整型的函数的指针类型转换符
  • 运算符的优先级
    • 第一级:包括() [] -> .四种运算符,含义分别为函数调用、数组下标、结构中成员选择操作符;
    • 第二级:单目运算符,包括!~ ++ -- - * & sizeof等(自右向左)
    • 第三级:双目或三目运算符
      • 算数运算符:+ - *  /  %
      • 移位运算符:<< >>
      • 关系运算符:< <= > >= == !=
      • 逻辑运算符:& ^ | && ||
      • 条件运算符:?:(自右向左)
      • 赋值运算符:=
  • 注意;的使用
    • if,for,while等;的使用
    • 函数的声明和定义中;的使用
  • switch语句
    • 如果在case语句后不加break,则会从当前case开始继续执行下一个case直至遇到break从switch中跳出
  • 函数调用
    • 写作f()的形式,括号里面可以带参数也可以不带参数
    • f;计算函数f的地址
  • if语句
    • else始终与同一对花括号最近的未匹配的if结合
  • 数组小知识
    • 在进行数组初始化时,可以在最后一个元素后面出现多余的逗号,源于c语言最初进行编写时可以方便直接添加元素☺

注:本内容主要参考《C陷阱与缺陷》一书,内容为自己整理的笔记

猜你喜欢

转载自blog.csdn.net/xiaoxiaozhunaoke/article/details/89790799
今日推荐