![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
笔记blog
zhangwenchao911
这个作者很懒,什么都没留下…
展开
-
笔记:文件的打开、关闭、写入、读取!
每个被使用的文件都在内存中开辟了一个相应的文件信息区,用来存放文件的相关信息(如文件的名字,文件状态及文件当前的位置等)。feof 的作用是:当文件读取结束的时候,判断是读取结束的原因是否是:遇到文件尾结束。牢记:在文件读取过程中,不能用feof函数的返回值直接来判断文件的是否结束。2. 二进制文件的读取结束判断,判断返回值是否小于实际要读的个数。(tips:不同的C编译器的FILE类型包含的内容不一样)根据文件指针的位置和偏移量来定位文件指针。原创 2024-03-22 11:52:49 · 1153 阅读 · 1 评论 -
笔记:柔性数组
tips:我们的代码是在一个给别人用的函数中,你在里面做了二次内存分配,并把整个结构体返回给用户。用户调用free可以释放结构体,但是用户并不知道这个结构体内的成员也需要free,所以你不能指望用户来发现这个事。如果 结构体的内存以及其成员要的内存一次性分配好,并返回给用户一个结构体指针,用户做一次free就可以把所有的内存也给释放掉;C99 中,结构中的最后一个元素允许是未知大小的数组,这就叫做『柔性数组』成员。原创 2024-03-22 09:52:37 · 95 阅读 · 1 评论 -
笔记:C/C++中程序内存区域划分
原创 2024-03-21 15:14:50 · 122 阅读 · 1 评论 -
笔记:位段!!
在VS环境下 从低地址开始分配内存。(一般来说,与“接口”文件定义的顺序相反);高地址 7 6 5 4 3 2 1 0 低地址。举例:typedef struct byte_bit。原创 2024-03-13 20:54:02 · 325 阅读 · 0 评论 -
笔记:数据在内存中的存储及大小端知识
编译器内存中显示为 0a 00 00 00!(就好比一千二百三十四1234,显示为 4321)在计算机眼里 10是00000000 00000000 00000000 00001010;在计算机眼里 b是 00000000 00000000 00010010 00110100。编译器内存显示的是地址低位在前,高位在后;小端 b的值为 0x34;a为int整形,占用4个字节,即32位;十六进制显示 是00 00 00 0a。十六进制显示是 00 00 12 34。如果其存储的规则与我们阅读顺序一致,即。原创 2024-03-13 20:40:52 · 323 阅读 · 0 评论 -
笔记:二进制中1的个数,按位异或的使用
第一次循环:n=9999 n=n&(n-1)=9999&9998= 9998。第二次循环:n=9998 n=n&(n-1)=9998&9997= 9996。第五次循环:n=9984 n=n&(n-1)=9984&9983= 9728。第六次循环:n=9728 n=n&(n-1)=9728&9727= 9216。第七次循环:n=9216 n=n&(n-1)=9216&9215= 8192。第八次循环:n=8192 n=n&(n-1)=8192&8191= 0。原创 2024-03-13 16:07:57 · 308 阅读 · 0 评论 -
个人笔记:扫雷
/点击位置,修改show的值。点击到空白,显示周围雷数,返回1;点击完所有的空白,返回3(每次点击成功count--,来判断)。//设置雷,数量COUNT,mine‘1’为雷 ‘0’为空。//初始化雷二维数组。原创 2024-03-13 15:58:01 · 561 阅读 · 0 评论 -
个人笔记:三子棋
3.创建2个函数, 机器人下棋void RobotStep(char board[ROW][COL], int row, int col) 和 玩家下棋void PlayerStep(char board[ROW][COL], int row, int col);4.每一个步骤都得有判断输赢的函数 char JudgeWin(char board[ROW][COL], int row, int col),玩家赢返回'#',电脑赢返回'*',平局返回'd',继续返回'c';原创 2024-03-13 15:43:32 · 419 阅读 · 0 评论