当前位置:编程学习 > C/C++ >>

C语言之-链表学习

静态链表
C代码 
#include <stdio.h> 
/**
 *定义节点结构体
 */ 
struct sNode{ 
    int num; 
    struct sNode* next; 
}s[3]={{1},{2},{3}}; 
typedef struct sNode sn; 
/**
 *静态单链表
 */ 
int main(void){ 
    sn *p,*head; 
    head=s;             //将数组首址赋给 临时(头)指针 head; 
    s[0].next=&s[1];    //将节点2的地址赋给节点1的next指针;节点1next指向节点2 
    s[1].next=&s[2];    //将节点3的地址赋给节点2的next指针;节点2next指向节点3 
    s[2].next=NULL;     //将NULL赋给节点3的next指针;       节点3next指向NULL 
    p=head;             //将头指针赋给 p指针,完成遍历。 
    printf("num\n"); 
    do{ 
        printf("%d\t\n",p->num); 
        p=p->next;          //因为当p为节点1时,p->next 是节点2的地址,所以执行完后p的地址就是下一个节点地址。 
    }while(p!=NULL); 
    return 0; 

作者“见山开路,遇水架桥!”

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,