美文网首页
《C陷阱与缺陷》读书笔记

《C陷阱与缺陷》读书笔记

作者: Nemocdz | 来源:发表于2017-07-13 01:28 被阅读36次
多字符记号
  • 输入流到给定字符串,识别成记号后,会尽可能包含之后字符构成最长字符串作为记号
  • 组合赋值运算符是两个记号,如+=
单引号与双引号
  • 单引号是当中字符对照整数序列的值
  • 双引号是初始化一个无名数组指针包括挡住字符和一个附近二进制为0的字符
printf("Hello world\n");
//等价于
char hello[] = { 'H', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'l', 'd', '\n', 0 };
printf(hello);
声明

变量声明=类型+对该类型求值的表达式

类型的模型=变量声明去除变量名和分号后用括号括起来

float *a();
//a是一个返回float指针的函数,模型为
(float *())

//调用地址0的函数
//调用变量
(*a)();
//a为返回void的函数的指针
void (*b)();
//模型为
(void (*)())
//将0转为此类型
(void(*)())0;
//调用转换后的变量
(*(void(*)())0)();
函数调用

需要参数列表,可无参数

f();//函数调用
f;//函数地址求值,不调用
表达式求值顺序
  • &&和||先求左边,左边为真才求右边
  • a?b:c b和c只求其中一个
函数参数转换

规则

  1. 比int短的整型转换为int
  2. 比double短的浮点转换为double
  3. 其余不转换
指针非数组

char指针变量是指向其数组第0个元素的指针

除法
q = a / b;
r = a % b;

保证

  • q * b + r == a
  • 绝对值r<绝对值b
  • 当a >=0且b > 0时,r >= 0

不一定保证

  • a为负数,q也为负
  • r >= 0

相关文章

  • 第02章 语法"陷阱"

    《C陷阱与缺陷》 Andrew Koenig 读书笔记 附录来自网络 2.1 理解函数的声明 2.1.1 如何声...

  • 第01章 词法"陷阱"

    《C陷阱与缺陷》 Andrew Koenig 读书笔记 1.1 =和== 编写时建议:将变量放到==的后方,编译器...

  • C语言中的词法陷阱

    该文章为笔记,因此许多内容摘抄自《C陷阱与缺陷》。《C陷阱与缺陷》,全书不厚,但是感觉十分有提醒与启迪作用,值得阅...

  • 《C陷阱与缺陷》读书笔记

    词法分析中的“贪心法” 每个符号应该包含尽可能多的字符。a---b等同于(a--)-b。a+++++b被编译器视为...

  • 《C缺陷与陷阱》读书笔记

    最近因为工作需要开始重新拾起C语言,虽然说基本语法什么的没有太大问题(不行就网上搜索),但复习巩固下C语言也是不错...

  • 《C陷阱与缺陷》读书笔记

    多字符记号 输入流到给定字符串,识别成记号后,会尽可能包含之后字符构成最长字符串作为记号 组合赋值运算符是两个记号...

  • C陷阱与缺陷--读书笔记

    神奇的函数声明 float *g(), (*h)(); 这里先拆开来看float * g(); 这样就很容易看出来...

  • 书籍推荐

    1.《C primer plus》----《C程序设计语言》-----《C和指针》、《C专家编程》、《C缺陷与陷阱...

  • 阅读书单

    《嵌入式Linux应用开发完全手册》 《抛弃c程序设计中的谬误与恶习》 《c陷阱与缺陷》 《征服c指针》 《c专家...

  • c陷阱与缺陷 读书笔记(一)

    程序设计错误实际上反映的是程序与程序员对该程序的“心智模式”两者的相异之处。 符号就是程序中的一个基本信息单元。 ...

网友评论

      本文标题:《C陷阱与缺陷》读书笔记

      本文链接:https://www.haomeiwen.com/subject/hkwihxtx.html