07 2017 档案

摘要:1、strlen的原型 2、strcpy(支持链式编程) 3、strcat(支持链式编程) 4、strcmp 5、长度受限的字符串函数 所以,经常在数组末尾手动加上字符串结束符: 阅读全文
posted @ 2017-07-27 21:24 Lunais 阅读(318) 评论(0) 推荐(0)
摘要:出处:http://www.cnblogs.com/zhangziqiu/ 这篇博客对原码,反码,补码总结的很好,引用于此,学习用。 本篇文章讲解了计算机的原码, 反码和补码. 并且进行了深入探求了为何要使用反码和补码, 以及更进一步的论证了为何可以用反码, 补码的加法计算原码的减法. 一. 机器数 阅读全文
posted @ 2017-07-27 19:19 Lunais 阅读(374) 评论(1) 推荐(0)
摘要:1、未初始化和非法的指针 一个极为常见的错误: int *a; *a = 12; warning: 声明一个指针,但未初始化,那么12存储在什么位置就未可知。 声明一个指针,不会创建用于存储的内存空间。对于未初始化的指针,执行间接的访问操作是非法的。 如果a的初始值是个非法地址,赋值语句将会出错,从 阅读全文
posted @ 2017-07-27 15:00 Lunais 阅读(324) 评论(0) 推荐(0)
摘要:1、数组名 int vector[10]; //vector是一个指针,是一个指向数组首元素的指针。即指向整形的指针。 int matrix[3][10]; //matrix是一个指针,是一个指向(有10个整形元素的)数组的指针。 指向数组的指针的声明方式: int (*p)[10] = matri 阅读全文
posted @ 2017-07-25 15:14 Lunais 阅读(345) 评论(0) 推荐(0)
摘要:数组名做函数参数进行传递时,实际上是是一份该指针的拷贝。 给形参赋予其他值,并不影响实参的值。 类似于: int *p = a; //a为数组名 p = b; //b为数组名 当然,如果你传递了一个指向某个变量的指针,而函数对该指针执行了间接访问操作,那么函数就可以改变那个变量,但参数还是传值方式传 阅读全文
posted @ 2017-07-24 21:39 Lunais 阅读(1678) 评论(0) 推荐(0)
摘要:参考:http://www.spongeliu.com/218.html 内存对齐,是指一种计算机体系结构(如X86)对基本数据类型的存储位置有限制,要求其地址为某个数的倍数,通常这个数为4或8。这种要求会简化处理器的设计以及提升数据访问的效率。至于为什么会有这样的设计,简单的说访存总线的位数固定, 阅读全文
posted @ 2017-07-24 16:59 Lunais 阅读(198) 评论(0) 推荐(0)