linux -- 链表

.与->的区别:
点“.”一般读作“的”,其前面是结构体。
->读作“指向结构体的”,其前面一定是一个指向结构体的指针

链表概念
什么是链表–数据结构,是数据存放的思想,是一个集合

数组特点:元素地址连续,增删查改困难,不灵活
链表地址不连续,灵活,解决了增删困难的问题
第一个指针为链表头,指向其他地址。

#include
struct Test
{
    int data;
    struct Test *next;
};
 
void printlink(struct Test *head)
{
   struct Test *point;
   point = head;
    while(point!=NULL){
             printf("%d ",point->data);
             point = point->next;
    }
    putchar('\n');
}
int main()
{
    int i;
    int array[]={1,2,3,4,5,6,7,8,9,10};
    for(i=0;i<sizeof(array)/sizeof(array[0]);i++){
        printf("%d ",array[i]);
    }     //用数组的方式输出
    putchar('\n');
 //用链表的方式输出:
    struct Test t1={1,NULL};
    struct Test t2={2,NULL};
    struct Test t3={3,NULL};
    struct Test t4={4,NULL};
    struct Test t5={5,NULL};
    struct Test t6={6,NULL};
 
    t1.next=&t2;
    t2.next=&t3;
    t3.next=&t4;
    t4.next=&t5;
    t5.next=&t6;
 
    printf("use t1 to print nums\n");
    printlink(&t1);
//    printf("%d %d %d\n",t1.data,t1.next->data,t1.next->next->data); 
    return 0;
}

你可能感兴趣的:(Linux,linux,链表,运维)