微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 单项链接的接口问题

单项链接的接口问题

时间:08-26 来源:周立功单片机 点击:

9    }student_t;

10

11  typedef struct _slist_student{

12      slist_node_t     node;                             // 包含链表结点

13        student_t        student;                                    // 学生记录

14  }slist_student_t;

15

16  int student_info_read (student_t *p_student)                    // 读取学生记录,随机产生,仅供测试

17  {

18        int i;

19

20        for (i = 0; i < 9; i++) {                            // 随机名字,由 'a' ~ 'z' 组成

21             p_student->name[i] = (rand() % ('z' - 'a')) + 'a';

22        }

23        p_student->name[i]= '\0';                         // 字符串结束符

24        p_student->sex    = (rand() & 0x01) ? 'F' : 'M';            // 随机性别 

25        p_student->height = (float)rand() / rand();

26        p_student->weight = (float)rand() / rand();

27        return 0;

28  }

29

30  int list_node_process (void *p_arg, slist_node_t *p_node)

31  {

32        student_t *p_s = &(((slist_student_t *)p_node)->student);

33        printf("%s : %c %.2f %.2f\n", p_s->name, p_s->sex, p_s->height, p_s->weight);

34        return 0;

35  }

36

37  int main(int argc, char *argv[])

38  {

39        slist_head_t    head;

40        slist_student_t s1, s2, s3, s4, s5;

41        srand(time(NULL));

42        slist_init(&head);

43 

44        student_info_read(&s1.student);

45        student_info_read(&s2.student);

46        student_info_read(&s3.student);

47        student_info_read(&s4.student);

48        student_info_read(&s5.student);

49

50        slist_add_head(&head, &s1.node);

51        slist_add_head(&head, &s2.node);

52        slist_add_head(&head, &s3.node);

53        slist_add_head(&

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top