随笔分类 -  C

摘要:fwrite(buff, sizeof(buff), 1, pFile);//返回实际写入的完整项数,参数3尽量填1,简单粗暴 fread(buff, sizeof(buff), 1, pFile);//返回实际读取的完整项数,参数3尽量填1,简单粗暴 文件内容: 每4字节复制旧文件到新文件,忽略错 阅读全文
posted @ 2020-05-02 10:57 八转达人 阅读(3923) 评论(0) 推荐(0)
摘要:假设A代表一个二进制位,则有如下恒等式: A & 0 = 0 A & 1 = A A | 0 = A A | 1 = 1 A ^ 0 = A A ^ 1 = ~A A ^ A = 0 A & ~A = 0 A | ~A = 1 如果 A ^ B = C 则 A ^ C = B B ^ C = A 右 阅读全文
posted @ 2020-05-01 10:56 八转达人 阅读(232) 评论(0) 推荐(0)
摘要:void ErrorProc() { printf("用户你好,我们的系统出错了,现在要退出"); } int main(int argc, char *argv[]) { //先给所有资源赋一个错误值,后面给每个资源赋正确值并验证确实正确,正确就使用,任意一个出错就调到总出口处理 char *ps 阅读全文
posted @ 2020-05-01 07:43 八转达人 阅读(233) 评论(0) 推荐(0)
摘要:内存空间大致分为: code data stack heap 4个和堆相关的Windows Api: HeapCreate HeapAlloc HeapFree HeapDestroy vc6中已分配的堆内存初始字节是0xCDCD(屯);未分配的堆内存字节是0xFEEE(铪)或0xDDDD(葺) _ 阅读全文
posted @ 2020-04-30 09:39 八转达人 阅读(193) 评论(0) 推荐(0)
摘要:两个结构体赋值时,如果存在指针成员,这时候复制了指针的值,而不是指针目标的值,称为浅拷贝。函数调用传递结构体而不是结构体指针时,隐含浅拷贝,这点需要注意。 避免两个结构体中的指针成员引用同一资源的方法: 1.如果有条件,让每个结构体变量中的指针成员各自拥有独立的资源(深拷贝)。 2.引用计数,所有结 阅读全文
posted @ 2020-04-30 09:38 八转达人 阅读(195) 评论(0) 推荐(0)
摘要:设计结构体的数据成员时,容易改变的成员要谨慎考虑,是否要设计为成员。 空结构体占用1字节。空结构体常用来表示十分抽象的事物,抽象到没有数据。为了允许代码获取空结构体变量的地址,所以要给它分配空间。 成员变量内存对齐的原则: vs的编译选项里可以设置对齐,默认为8字节对齐,/Zp8 设编译对齐值为Zp 阅读全文
posted @ 2020-04-28 21:02 八转达人 阅读(200) 评论(0) 推荐(0)
摘要:指针的指针:指向指针的指针 const char *names[] = { "C", "C++", "C#", "Java", }; //数组名是指向数组首元素的指针 const char **p = names; const char *(*q)[4] = &names; 【数组名】是指向【数组第 阅读全文
posted @ 2020-04-23 21:21 八转达人 阅读(215) 评论(0) 推荐(0)
摘要:指针数组:组成元素是指针的数组。 数组指针:指向数组的指针。 //变长字符串数组,保存每个字符串的首地址,字符串内容保存在只读区 //结合指针作为数组的元素,即可使得存储更紧凑,有可以带来访问优势 const char *pszBuff[] = { "wqerasdf", "wqe4f", "wqw 阅读全文
posted @ 2020-04-23 08:37 八转达人 阅读(184) 评论(0) 推荐(0)
摘要:一、指针函数:返回指针的函数 注意事项: 1.不应该返回参数的地址: 如果返回的指针保存了参数的地址,则当函数调用完成后,返回的指针引用了一个栈 外地址,函数调用完成后参数会被释放。此地址会被新的函数占用并修改。 2.不应该返回局部变量的地址: 如果返回的指针保存了局部变量的地址,则当函数调用完成后 阅读全文
posted @ 2020-04-22 07:50 八转达人 阅读(168) 评论(0) 推荐(0)
摘要:任何时候指针只能有两种状态,NULL状态和正常状态。 仅仅给出地址,计算机无法正确有效地读写数据。 指针是一个具有解释方式信息的地址 分析指针时关心两件事: 1.在哪里 2.是什么 理解了指针的解释方式,就可以任意解释内存中的数据 举例: unsigned char *p = NULL; int n 阅读全文
posted @ 2020-04-21 12:21 八转达人 阅读(178) 评论(0) 推荐(0)
摘要:问题起因:别的文件定义了宏或函数等,我们现在想利用这些已经写好的代码,如果直接#include "xxx.cpp",会重复定义。因此需要定义一些规范,方便管理以及避免编译错误。 规范: 1.任何产生处理器行为(编译为二进制代码)的代码,都在.c .pp这些源码文件中定义。 2.不产生处理器行为的代码 阅读全文
posted @ 2020-04-19 12:58 八转达人 阅读(156) 评论(0) 推荐(0)
摘要:一、vs2019添加新的配置, vs2019里搜索/p可找到选项“预处理到文件”,选择是,可以查看生成的预处理文件。 二、宏 预处理指令用于程序员和编译器之前的交互。 宏的处理机制:文本的查找替换。 宏的作用: 1.符号化常量,让数值或其他类型的常量更有说明性意义: #define PI 3.14 阅读全文
posted @ 2020-04-17 09:21 八转达人 阅读(500) 评论(0) 推荐(0)
摘要:静态全局变量和静态局部变量的探索 一、静态全局变量 1.特点 静态全局变量具有文件作用域,生命期是所处模块装载到所处模块卸载,处于同一文件中的代码能直接访问它,外部文件不能直接访问。假设写了如下代码,编译通过。 现在在同一工程下新建文件,输入如下代码,编译通过,链接失败。 如果换成全局变量,则编译连 阅读全文
posted @ 2020-04-16 20:40 八转达人 阅读(2559) 评论(0) 推荐(2)
摘要:char szBuff[10] = { 0 }; scanf("%9s", szBuff);//最多读9个字符,防止溢出 全局变量尽可能不用 code read execute 全局、静态 data init read write read only 常量,const生命的全局变量,字符串常量 un 阅读全文
posted @ 2020-04-15 07:54 八转达人 阅读(214) 评论(0) 推荐(0)
摘要:排序算法: 1.存储介质 可靠,稳定,海量,稳定 2.数据结构 3.样本分布 随机访问:访问每处的代价成本均等 RAM Random Access Memory ROM Random Read Only Memory 选择法需要支持随机访问,在这个场合下,选择由于冒泡 冒泡是在顺序访问场合的时候,此 阅读全文
posted @ 2020-04-10 22:12 八转达人 阅读(133) 评论(0) 推荐(0)
摘要:数组名:表示数组第0个元素的地址,是个常量 数组特性:每个元素类型一致,排列连续 array[n]:计算数组array下标为n元素的地址,并访问 有数组type array[M],则 数组array[n]的地址是: (int)array + sizeof(type)*n 下标运算规则: 1.必须有两 阅读全文
posted @ 2020-04-10 12:45 八转达人 阅读(158) 评论(0) 推荐(0)
摘要:线性问题:问题有且仅有一个前驱,问题有且仅有一个后继。例如数组,知道某个下标,则前面或后面的数值也能确定,是唯一的。 循环适合解决线性问题 递归不适合解决线性问题 写递归程序时,先写退出条件,再考虑其他 阅读全文
posted @ 2020-04-09 13:00 八转达人 阅读(110) 评论(0) 推荐(0)
摘要:函数设计原则:高内聚,低耦合 内聚:所需资源自给自足,不依赖其他资源,重用性强,维护容易 责任清晰,容易移植到其他工程所需模块中 耦合:资源相互依赖,单一模块无法完成单一功能,重用性差,维护困难 责任不清晰,难以移植到其他工程所需模块中 函数调用时: 1.需要维护一个栈结构用于记录函数调用依赖关系 阅读全文
posted @ 2020-04-08 19:54 八转达人 阅读(213) 评论(0) 推荐(0)
摘要:算法的有穷性,即算法时间要可控。 算法优劣: 指数阶,随着问题规模的扩大,算法消耗的资源呈指数增长,尽量转化为其他阶。 线性阶,随着问题规模的扩大,算法消耗的资源呈指数增长,可以转化为对数阶,常量阶 或降低斜率。 对数阶,随着问题规模的扩大,算法消耗的资源呈对数增长,相对较好,可以尝试转化为常量阶。 阅读全文
posted @ 2020-04-08 19:49 八转达人 阅读(138) 评论(0) 推荐(0)
摘要:监视窗口可以输入变量名,可对其取地址,可将监视的对象拖到内存窗口查看。vs2019中也可输入函数求值,例如调用strlen和自定义的Add函数。 if - else分支排在前面的优先判断,预计经常发生的情况可以放在前面,提高命中率。 switch - case每个分支访问代价均等,效率相同 swit 阅读全文
posted @ 2020-04-03 11:11 八转达人 阅读(977) 评论(0) 推荐(0)