C语言 访问链表节点中的位数组



我有一个这样定义的链表:

typdef struct _seg
{
    int bits[256];        // # of bits in bits[] array = 256
    struct _seg *next;    // link to the next segment
} seg;

我想知道如何访问这个列表的每个节点内的位数组。如果它是一个普通的int变量而列表是p,我就可以用p->bits = 13;。但是在这种情况下,我不知道如何访问和修改列表。有人能帮帮我吗?

注:(不那么重要)有人知道seg;在最后做了什么吗?

要访问列表中的节点,必须使用循环遍历所有元素:

seg* p = createList();
seg* current = p; // start at first element
while( current != NULL ){
    for( int i=0; i<256; i++ ) {
        current->bits[i] = 13;  // modify bits inside
    }
    current = current->next; // go to next element in the list
}

p->bits是一个256个整数的数组。您可以使用p->bits[0] = 13访问它。

或一般p->bits[i] = 13,其中0 <= i < 256 .

typdef struct _seg{

}凹陷;

可以使用seg来定义该结构类型的变量

seg SomeName;

不需要struct _seg someName;

相关内容

  • 没有找到相关文章

最新更新