Ejemplo n.º 1
0
/**
 * 这个不仅初始话,同时也是声明或创造一个含有nbits个位的
 * bitset 的数据结构的set变量
 * 
 * @param nbits 初始话bit的位数
 * 
 * @return  成功时返回bitset对象
 */
bitset *bitset_init(size_t nbits) {
	bitset *set;

	set = malloc(sizeof(*set));
	assert(set);
/* -> 的优先级高于*,所以*set->bits表示set的bits成员所指的对象  */
	set->bits = calloc(BITSET_USED(nbits), sizeof(*set->bits));
	set->nbits = nbits;

	assert(set->bits);

	return set;
}
Ejemplo n.º 2
0
bitset *bitset_init(size_t nbits) {
	bitset *set;

	set = malloc(sizeof(*set));
	assert(set);

	set->bits = calloc(BITSET_USED(nbits), sizeof(*set->bits));
	set->nbits = nbits;

	assert(set->bits);

	return set;
}
//用于对bitset结构进行初始化
bitset *bitset_init(size_t nbits) {
	bitset *set;
//为bitset结构的set变量分配内存空间
	set = malloc(sizeof(*set));
//判断set指针是否为空指针
	assert(set);
//根据用于指定的位数(nbits)为bitset结构的bits字段分配内存空间
	set->bits = calloc(BITSET_USED(nbits), sizeof(*set->bits));
//将用户指定的位数(nbits)赋予bitset结构的nbits字段
	set->nbits = nbits;
//判断bitset结构的bits字段是否为空指针
	assert(set->bits);
//返回bitset结构的set给该函数的调用者
	return set;
}
Ejemplo n.º 4
0
void bitset_reset(bitset *set) {
	memset(set->bits, 0, BITSET_USED(set->nbits) * sizeof(*set->bits));
}