c 结构体链表初探

结构体链表

 1 #include <stdio.h>
 2 struct tnode
 3     {
 4          char *word;
 5          int count;
 6          struct tnode *left;
 7          struct tnode *right;
 8     };
 9
10 int main(int argc, char const *argv[])
11 {
12
13     struct tnode a, b, c, *tmp;
14     a.word = "a";
15     b.word = "b";
16     c.word = "c";
17     a.left = &b;
18     b.left = &c;
19     c.left = NULL;
20     tmp = &a;
21     char *p = NULL;
22      do {
23          printf("%s\n", tmp->word);
24
25      } while(tmp = tmp->left);
26
27      return 0;
28 }

执行结果

a
  b
  c

时间: 2024-08-04 04:05:53

c 结构体链表初探的相关文章

C语言:SWUST OJ,程序设计C 实验六 结构体 题目三 学生结构体链表(0068)

Description: 用结构体建立学生信息,学生信息包括学号.姓名.成绩,建立一个有 n 名学生的链表, 并将链表输出. Input: 一次输入学生信息包括学号.姓名.0 0 0结束程序. Sample Input: C1001 Li 70 M1002 He 89 E1003 Xie 83 M1004 Wu 92 E1005 Bao 80 Sample Output: C1001 Li 70 M1002 He 89 E1003 Xie 83 M1004 Wu 92 E1005 Bao 80

c语言结构体链表

原文链接:http://zhina123.blog.163.com/blog/static/417895782012106036289/ 引用自身的结构体,一个结构体中有一个或多个成员的基类型就是本结构体类型时,说明这个结构体可以引用自己,所以称作引用自身的结构体. 例如下面的结构体: struct link{ char ch; struct link *p} a; p是一个可以指向struct link类型变量的指针成员,这样,a.p=&a就是合法的表达式.那么,这有什么意义呢? 这样的意义就

pta结构体链表作业

7-2 1. 本题PTA提交列表 2. 设计思路 题目要求按照年龄从大到小的顺序依次输出,于是我只要用冒泡法把结构体变量从大到小排列就可以了. 3.本题调试过程碰到问题及PTA提交列表情况说明. (1)答案错误:认真检查了一遍,发现是冒泡法排序那块出现了错误,j应该从0开始循环,才能遍历.此时i<n与i<n-1得到的结果一样,所以可以少一次循环. 4.代码截图. 7-3 1. 本题PTA提交列表 2. 设计思路 运用结构体先输入第一个学生的成绩,计算他的总分并将这个学生记做成绩最高的学生max

【C项目】 文件,结构体,链表,排序, 学生信息管理系统

1.密码登录: 2.通过键盘输入学生信息,包括学生学号.姓名.成绩: 3.将输入的信息保存到指定文件中: 4.从文件中读取学生信息: 5.显示全部学生信息: 6.按学生总分进行降序排序: 7.删除学生信息: 8.查找学生信息,可以通过学号查找,也可以通过姓名查找: 9.统计学生信息,统计出最高分和学生人数: 10.退出系统: 源代码: [email protected]:~$ cat main.c  #include<stdio.h> #include<stdlib.h> #inc

【c++程序】结构体链表

#include<iostream> using namespace std; struct book//公有的 { int num; float price; struct book*next; }; int main() { book x,y,z,*head,*p; x.num=10000; x.price=14.5f; y.num=20000; y.price=23.4f;//默认为双精度 z.num=30000; z.price=45.6f; head=&x; x.next=&

结构体 链表

一 典型例题 7-1 求组合数 1.本题PTA提交列表 2.流程图及思路 主函数: 子函数: 本题运用函数的思想,将结果由繁化简,通过判断决定返回值,输出需要注意结果格式. 3.代码截图 4.错误改正截图及说明 本题忘记打出返回值. 7-10 判断素数 1.本题PTA提交列表 2.流程图及思路 主函数: 子函数: 3.代码截图 4.错误改正截图及说明 在dev上一次成功,本题无错误. 7-3 求幂之和 1.本题PTA提交列表 2.流程图及思路 主函数: 子函数: 本题利用函数的思想,由繁化简的将

Linux进程管理之task_struct结构体

内核源码:Linux-2.6.38.8.tar.bz2 目标平台:ARM体系结构 进程是处于执行期的程序以及它所管理的资源(如打开的文件.挂起的信号.进程状态.地址空间等等)的总称.注意,程序并不是进程,实际上两个或多个进程不仅有可能执行同一程序,而且还有可能共享地址空间等资源. Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息.它定义在linux-2.6.38.8/include/linux/sched.h文件中. 本文将尽

结构体中定义函数指针

转自:http://blog.csdn.net/unix21/article/details/9293877 结构体指针变量的定义,定义结构体变量的一般形式如下: 形式1:先定义结构体类型,再定义变量 struct结构体标识符 { 成员变量列表;… }; struct 结构体标识符 *指针变量名; 变量初始化一:struct结构体标识符 变量名={初始化值1,初始化值2,…, 初始化值n }; 形式2:在定义类型的同时定义变量 struct结构体标识符 { 成员变量列表;… } *指针变量名;

无表头单链表的总结----如何将已经初始化的结构体数组加入链表关系

1 struct Student 2 { 3 char ID[N_ID]; 4 char name[N_name]; 5 struct Student *next; 6 }alist[LEN_A],blist[LEN_B]; 7 ////以上是结构体 8 //初始化 9 struct Student alist[LEN_A] = { {"101","Wang"} ,{"102","Li"},{"105",&