1.数组下标从0开始而不是1开始!

即a[0]——a[99],千万不要出现a[100]的情况。

2.auto关键字是个就是个摆设,除非你想在定义的时候使代码对齐好看点

如:register int a = 1;

auto int b = 2;

static c = 3;

3.表达式中数组名可以"看做"是指针

但记住,数组名并不是指针,有很多区别。

4.不允许函数嵌套。

5.注意宏定义中的空格!

#define a(n)  a_expanded(n)

则a(x);——被扩展为:a_expanded(x);

而:

#define a"此处有空格"(n)  a_expanded(n)

a(x);

——被扩展为:(x)  a_expanded(x)

6.ANSI C标准对一个能够成功编译的程序的最小长度做了限制

每一个ANSI C编译器必须能够支持:

  • 在函数定义中形参数量的上限至少可以到达31个。
  • 在函数调用时实参数量的上限至少可以达到31个。
  • 一条源代码里知识可以有509个字符。
  • 在表达式中至少可以支持32层嵌套的括号。
  • long int的最大值不得小于2 147 483 647(就是说long型整数不得低于32位)
7.const最有用之处就是用来限定函数的形参,const定义的并不是真正的常量;
证明:
const int MAX = 10;
int A[MAX];//——定义出错
const修饰指针时注意:
const int * p;p指向的内存中的数据不能被改变
int const * p;p指向的内存中的数据不能被改变
int * const p;p指向的内存中数据可以被改变,但p本身不能被改变
const int * const p;p本身不能改变,p所指向的内存中的数据也不能被改变
8.sizeof返回无符号整形!sizeof不是函数!
怎么证明sizeof 不是函数?
int a;
sizeof(int) = 4;
sizeof(a) = 4;
sizeof a ——也是4  不需要括号!
此时要注意:
sizeof int——错误!此时int  把sizeof当成int的修饰词;比如  signed int ,  register int 。。。
9.尽量不要在你的代码中使用无符号整形,以免增加不必要的复杂性!最好使用位段和二进制掩码时使用无符号数;
10.数据类型的转换!一定要注意
另外添加一个例题:
        int j = -2;unsigned int i = 1;if((i + j) >=0){printf("i + j > 0 \n");}else{printf("i + j < 0 \n");}
看看是什么结果。

读《C专家编程》总结(一)相关推荐

  1. 开始读《C专家编程》

    前两天在网上看到<C专家编程>这本书的评价还不错,就去书店买了一本回来捧读,每天晚上看一些.探讨的问题确实比较深,都在讨论C语言本身的问题了.提到了C语言中的一些不足.本来认为C语言是无懈 ...

  2. 一篇特别长的总结(C专家编程)

    博客链接: http://codeshold.me/2017/02/expert_c_programming.html 读一本书必输出一篇笔记或者总结!!! <C专家编程>这本书很早看完了 ...

  3. 《JavaScript专家编程》——第1章 对象和原型 1.1鸟瞰JavaScript

    本节书摘来自异步社区<JavaScript专家编程>一书中的第1章,第1.1节,作者:[美]Mark Daggett(达格特)著,更多章节内容可以访问云栖社区"异步社区" ...

  4. 《C专家编程》随笔1:读者心得

    自己在阅读完<C和指针>和<C陷阱与缺陷>之后,结合实际的项目,对C语言有了一定熟悉. <C和指针>是一本非常不错的C语言基础书,详细介绍了C语言的知识点,相对于谭 ...

  5. c语言多态性编码图形,C和C++经典著作 C专家编程Expert C Programming Deep C Secrets pdf...

    摘要 <C专家编程>可以帮助有一定经验的C程序员成为C编程方面的专家,对于具备相当的C语言基础的程序员,<C专家编程>可以帮助他们站在C的高度了解和学习C++.书本撷取了几十个 ...

  6. C专家编程 模块化与有限机编写cdecl声明程序

    自己编写cdecl: //char * const *(*next)();示例 //结果:identifier is(标识符是)next //指向next的指针函数返回指向const的指针指向char ...

  7. C专家编程(Expert C Programming)1

    C专家编程(Expert C Programming) 一基本概念 1.与时间相关的几个函数 char *ctime( const time_t *timer ); Each of these fun ...

  8. C专家编程 精编之一

    C专家编程  精编之一     第一章~第三章 C的复杂之处 在于它的指针 ,但是比其指针更为复杂的是它的声明 !!! 你能看懂它们的意思 吗? apple=sizeof(int)*p  ;   ap ...

  9. C语言专家编程题,一篇特别长的总结(C专家编程)

    读一本书必输出一篇笔记或者总结!!! <C专家编程>这本书很早看完了,但整理笔记却断断续续的花了三天时间,这从侧面更说明了这本书的经典了(尽管不到300页)! 至此C经典著作<C T ...

  10. C专家编程-读书笔记(书本顺序)

    C语言设计哲学:   一切工作程序员自己负责.   语言中的所有特性都不需要隐式的运行时支持.   程序员所做的都是对的.   程序员应该知道自己在干什么,并保证自己的所作所为是正确的. ====== ...

最新文章

  1. Flash Builder 4快速入门----学习笔记
  2. HBase环境搭建与使用
  3. import 别名_es6模块 import, export 知识点小结
  4. [vue] 说说你对选项el,template,render的理解
  5. DAEMON Tools
  6. linux 网口名称变了_CentOS7修改网卡名称为eth0及一些基本设置
  7. 群辉发布RackStation系列机型——RS3621RPxs、RS3621xs+与RS4021xs+
  8. Java基础学习总结(150)——Caused by: java.net.SocketException 问题解决
  9. Exchange server 2007中启用pop3和IMAP4协议访问
  10. 2018 年,新手前端是否真的很难找工作?
  11. 0.42-0.5+0.08与0.08-0.5+0.42是不完全相等,Why is 0.3 - 0.2 - 0.1 (or similar) not equal to zero?
  12. 什么查重软件比较好用?
  13. 使用代理服务器之后浏览器无法联网的解决办法
  14. 【信息保护论】信息保护与密码学
  15. 零基础如何入门编程开发?
  16. CFS 调度器的vruntime
  17. 教师资格证上传照片显示服务器错误,教师资格证报名照片传不上去怎么办,照片有哪些要求—中小学教师资格网...
  18. 前端脚手架是指什么?
  19. linux运维高薪职业及任职要求梳理
  20. 使用第三方云通讯平台时,出现{'172001':'网络错误'}解决方法

热门文章

  1. 【vcpkg】vcpkg:用于 Windows、Linux 和 macOS 的 C++ 包管理器
  2. jsp获取java处理结果_JSP Cookie 处理
  3. c语言timer linux 回调函数_SetTimer 与回调函数
  4. npm与package.json
  5. CSS3发光字体几种效果
  6. 机械设计师图纸管理系统,实现数字化管理图纸
  7. python实现图像添加噪声、噪声处理、滤波器代码实现
  8. 90°和180°的连接器有什么区别?
  9. 水滴递交IPO申请:拟纽交所上市,募资1亿美元
  10. php 正则手机 w3c,最新手机号码正则表达式(php版)