Tag Archives: c语言

C语言实现BitMap

BitMap的原理不用多说了。

主要说下位操作。

我们假设每个基础存储单元为char,则BYTESIZE = 8,如果为int则16 or 32。

当设置i时,首先ptr+=i/BYTESIZE,到达要操作的那个char。

然后对*ptr |= 0x01<<(i%BYTESIZE)即可。这里在同一个机器上,可以忽略大小端的问题。

检查的时候,也是首先ptr+=i/BYTESIZE,然后查 (*ptr&0x01<<(i%BYTESIZE[......]

继续阅读

C系语言中多维数组的理解

int array[m][n];

这个二维数组,可以堪称是m个长度为n的一维数组。

在内存中排列的方式是[0][1]..[n-1]  [0][1]...[n-1]....一共m组这样的。

在访问时,array[m][n] = *(*(array+m)+n),对N维的数组取值时要用到N个*。

参考了这个:http://blog.csdn.net/hai836045106/article/details/6729756[......]

继续阅读

[转]Linux下用C语言遍历文件夹

转自:http://www.linuxdiyf.com/viewarticle.php?id=63720

学习了LINUX下用C语言遍历文件夹,一些心得

struct dirent中的几个成员:

d_type:4表示为目录,8表示为文件

d_reclen:16表示子目录或文件,24表示非子目录

d_name:目录或文件的名称

具体代码如下,仅供参考
#include <stdio.h>
#include <dirent.h>
#i[......]

继续阅读

《数据结构》读书笔记 第六章 二叉树的二叉链表实现

没想到真的能写出来,因为这是第一次用类的方式封装描述。真的是第一次写类。而且加上二叉树这个比较难描述的东东,确实费了不少劲。发现面向对象确实是很好的。真的是让用户无需关心数据细节。当然可能是还没习惯,写得有点慢。
期间,递归的不熟练导致犯下了几次严重错误,好在自己都纠正了。
但是还有以下没有解决:
1、如何在类中调用函数指针?
2、Parent函数能不能用递归描述?
...
若有高手看到指点一二,不胜感激~ 微笑 
BiTree.h:定义了二叉类 BiTree以及基本操作
#in[......]

继续阅读