进制转换、数值与编码

进制转换、数值与编码 进制转换、数值与编码 x86使用小端方式存储数据 2进制转8进制、2进制转16进 进制本质 进制转换 整数 小数 小数二进制和十进制互转,二进制的101.111转为十进制: 十进制小数转二进制 浮点数 补码和求补运算 计算减法过程 常用缩写 逻辑恒等式 编译与链接 x86使用小端方式存储数据 小尾

文件操作

文件 文件属于资源,用之前需要判断是否为NULL,用后要释放再赋值为NULL。 C中的“文件”,就相当于中文的“设备”,OS操作设备,在代码中体现为操作文件。 stderr不支持重定向。 stdin 标准输入文件,即键盘 stdout 标准输出文件,即显示器 stderr 标准错误文件,记录错误,只能在屏幕显示 写文件

malloc_调试源码_goto使用

拾遗 宏名全大写,用于区分函数。 .C 结构体中不能定义函数。 .CPP结构体中可以定义函数。 PAGE_开头的宏用于处理内存。 IMAGE_开头的宏用于处理文件。   debug(/Zi  /Od)版下的栈空间初始化为CC,堆空间初始化为CD。   cpp中,函数重载表示函数名相同,参数不同;运算

位段

位段 位段,C语言允许在一个结构体中以位为单位来指定其成员所占内存长度,这种以位为单位的成员称为“位段”或称“位域”( bit field) 。利用位段能够用较少的位数存储数据。例: Add、Del、Edt、Que各只占1位。 :后面接位长。位段不可以取地址。 无名位段,例如int : 6; //占6位,并且无法访问

typedef_位运算

typedef typedef 声明别名,例如:   typedef是写符号表的,被编译器认为新类型。   以下摘自 C primer plus: typedef 与 #define有三个不同之处: 与#define不同,typedef出给的符号名称仅限于对类型,而不是对值; typedef的解释由

共用体_枚举

解析pascal字符串,代码如下: 这种结构体支持任意长度pascal字符串 在源码中,如果出现结构体的成员被注释了,一般表示这是一个说明性质的定义,这个成员存在,但是可能大小不固定,不能直接用。   共用体: union 只占最大成员类型的空间,并告诉编译器,可以用哪些方式解释(有哪些类型)。  

复习

cmd中的start命令可以启动程序。例: start notepad //启动记事本 start www.baidu.com //打开百度 总线:地址总线,数据总线 地址按4字节对齐效率高(32位CPU) 栈顶的位置也是按4字节对齐 不改工程设置,实现1字节对齐: #pragma pack(1) //写在结构体前 #

命令行参数_结构体

命令行参数 main( int argc, char *argv[ ], char *envp[ ] )  //char *argv[ ]也可以写作char **argv   命令行参数默认有一个,就是exe本身。   程序名 + 参数 在一起叫 命令行参数。   Shell:外壳程序,调

指针3

指针3 指针数组:元素为指针构成的数组。   数组指针:指向数组的指针。 语法: 例一: int nAry[3] = {1, 2, 3}; 指向nAry[3]的指针: int (*ptrAry)[3] = &nAry; //注意,nAry前面的&必须写,因为nAry的类型是int,不加&amp

指针2

拾遗 需求和概要设计与语言无关。   需求: 写目标,给用户看,可能需要用户参与编写和签字。   概要设计: 概要设计写实现过程,不谈细节,以用户操作流程为主,不体现开发环境。概要设计可能需要需求人员和开发人员共同编写。   详细设计(重点):要体现流程以及函数之间的关联,例如画树状图。给