原创 【博客大赛】《C和指针》摘抄整理型笔记三

2014-10-9 16:05 1471 19 20 分类: 处理器与DSP 文集: C和指针

/*

读书笔记类型多种多样,有摘抄型的,有感想型的,有批注型的,有摘要型的……

现在正在研读《C和指针》,其中有很多我认为必要的知识点,摘抄并简单整理了一下,记录在这里。

*/

 

19. C中,在几乎所有使用数组名的表达式中,数组名的值是一个指针常量,也就是数组第一个元素的地址。请不要根据这个事实得出数组和指针相同的结论。只有当数组名在表达式中使用时,编译器才会为它产生一个指针常量。

 

20. 只有两种场合下,数组名并不用指针常量来表示——就是当数组名作为sizeof操作符或单目操作符&的操作数时。

 

21. 你不能使用赋值符号把一个数组的所有元素复制到另一个数组,必须使用一个循环,每次复制一个元素。

 

22. 定义一个数组,比如 int array[10];

表达式2[array],是合法的!编译器会把它转换成对等的间接访问表达式*(2 + array)2[array]*(2 + array)array[2]是无差别的。但在实际使用中,绝不应该写2[array],因为它会大大影响程序的可读性。

 

23. 数组下标表达式a[2]和指针表达式*(a + 2)可以互换。在可读性方面,下标有一定的优势,尤其是多维数组中,但下标绝不会比指针更有效率。而指针有时会比下标更有效率。

 

24. 指针比下标更有效率,前提是它们被正确地使用。不要为了效率上的细微差别而牺牲可读性,这点非常重要。

 

25. 函数原型中的一维数组形参无需写明它的元素数目,因为函数并不为数组参数分配内存空间。形参只是一个指针,它指向的是已经在其他地方分配好内存的空间。这也解释了为什么数组形参可以与任何长度的数组匹配——它实际传递的只是指向数组第一个元素的指针。另一方面,这种实现方法使函数无法知道数组的长度,如果需要知道数组的长度,它必须作为一个显式的参数传递给函数。

 

26. sizeof的用途,它用于对数组中的元素进行自动计数。如,定义了array[ ]sizeof(array)的结果是整个数组所占用的字节数,而sizeof(array[0])的结果则是数组每个元素所占用的字节数。两个值相除,结果就是数组元素的个数。

 

27. 头文件string.h包含了使用字符串函数所需的原型和声明。尽管并非必需,但在程序中包含这个头文件确实是个好主意,因为有了它所包含的原型,编译器可以更好地为你的程序执行错误检查。

 

28. 标准库函数有时是用汇编语言实现的,目的就是为了充分利用某些机器所提供的特殊字符串操作指令,从而追求最大限度的速度,即使在没有这类指令的机器上,你最好还是把更多的时间花在程序其他部分的算法改进上。寻找一种更好的算法比改良一种差劲的算法更有效率,复用已经存在的软件比重新开发一个更有效率。

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户593939 2014-10-4 23:42

学习和参考了

用户377235 2012-11-5 14:30

第二种方法是Linux下的C吧?

相关推荐阅读
飞言走笔 2017-01-06 21:56
2017,新的博客旅程
EDNChina 改版终于成功了!祝贺! 2017年,开始新的旅程~ ...
飞言走笔 2016-06-01 10:17
【博客大赛】《白鹿原》读后
《白鹿原》这本书已经买了很久,多次以来,都是只翻看几页,顶多几章就放下了,觉得这是一个大部头,得有足够的时间才行。前几天陈忠实先生去世的消息传来,让我很震惊和惭愧。 一口气读完这本书,畅快淋漓,又意...
飞言走笔 2016-03-26 16:42
【博客大赛】《毛斯朝》读后
这本书最早是在凤凰卫视曾子墨主持的一期关于沈志华先生的《世纪大讲堂》节目中知晓的。但是一直拖到今天才读完。 说实话,书的主要内容与当前官方的宣传口径有很多不一致的地方,而沈先生作为中国掌握苏联档...
飞言走笔 2016-03-08 13:46
【博客大赛】蓝牙4.0低功耗技术及其认证要求
详见附件 ...
飞言走笔 2016-02-02 14:20
【转】蓝牙4.0协议官方手册(一)——通用属性配置文件
转自:http://blog.csdn.net/jinzhichaoshuiping/article/details/43370009 通用属性配置文件 (GATT)——该说明书定义了通用属性配置...
飞言走笔 2016-01-31 23:24
【博客大赛】脑洞大开、三观重塑——《人类简史》读后
终于读完了《人类简史》,没有把这本书拖到二月份,这也是2016年读完的第一本书。之前也有所耳闻,但是没有太在意,倒是罗胖子的跨年演讲上偶然提到,不知怎么就勾起了阅读此书的欲望。 本文的标题用了“脑洞...
EE直播间
更多
我要评论
1
19
关闭 站长推荐上一条 /3 下一条