关于结构体和链表结构

程序如下

#include <stdio.h>
typedef struct list
{ int data;
struct list *next;
} LIST;
int fun(LIST *h)
{ LIST *p;
int t = 0;//初始值不给的话会出现很离奇的错误!
p=h;
while( p )//*p为结构体,不能转换为bool(布尔)型,只能用p或者*p!=NULL
{
t=t+p->data;//p为指针,需要用->,不能用 . 
p=(*p).next;
}
return t;
}
main()
{ LIST a, b, c, *h;
a.data=34; b.data=51; c.data=87; c.next=‘\0‘;
h=&a; a.next=&b; b.next=&c;
printf("总和 = %d\n",fun( h ));
}

作用如下:将a,b,c三个节点连接成一个单向链表,并给各界定啊的数据域赋值,函数fun()的作用是:累加链表结点数据域中的数据作为函数值返回。

程序来源:c语言题库二级c语言程序设计-创2-43.

2016-03-20

时间: 2024-10-09 20:21:33

关于结构体和链表结构的相关文章

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+ 指针数组: 在一个数组中,如果它的元素全部都是指针类

学习C/C++语言:结构体,动态链表

//*************************************************************** //结构体:简单的静态链表 #include<stdio.h> #include<string.h> #define NULL 0 #define SIZE 10 struct student { char num[SIZE]; float score; struct student *next; }; void main() { struct stu

3.结构体与链表

转载请标明出处:http://blog.csdn.net/u012637501 一.结构体 struct Student *p:p是一个struct Student *类型的指针变量, 用于存放struct Student类型变量的地址 1.结构体:把一些基本类型数据组合在一起形参的一个新的复合数据类型,用来表示一些复杂的事物,即称为结构体. 2.定义结构体方法 (1)第一种方法:指定结构体名,不定义结构体变量 struct Student { int age; float score; cha

C语言的结构体和C++结构体的区别

关于C++中声明结构体中需要使用构造器创建实例对象的语法: 接着上两个代码截图你就初步体会到C语言的结构体和C++结构体的区别了:     对于右边的C++结构体的使用类似Java,C++,Swift中的类,类中有构造器方法,然后构造器创建这个类的实例对象. 当然Swift中也有一样用法的结构体.毕竟Swfit是集大家之所成的现代语言.

结构体3之结构体嵌套

注意: 1结构体内部再次定义一个结构体 但是没有创建结构体的实例  也就是说再次定义的结构体内部的变量会被当做母结构体的成员变量 1 struct tianchao 2 { 3 int data; 4 char name[24]; 5 struct beijing//结构体内部再次定义一个结构体 但是没有创建结构体的实例 6 //也就是说再次定义的结构体内部的变量会被当做母结构体的成员变量 7 { 8 char str[100]; 9 int num; 10 }; 11 }; 12 13 voi

C语言的结构体和 C++结构体的区别

 C语言的结构体和 C++结构体的区别 关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不要void关键字,这样的方法就是构造器的初始化方法> 接着下面两个代码截图(一个是C源码,一个是C++源码)对比你就初步体会到C语言的结构体和C++结构体的区别了:      对于右边的C++结构体的使用类似Java,C++,Swift中的类,类中有构造器方法,然后构造器创建这个类的实例对象. 当然Sw

C的日记-结构体变量和结构体数组

[结构体] 定义结构体的两方式    <1>    struct student{};        struct student a={10001,"云中",'M',"北京"};    <2>    struct student{        }a={10001,"云中",'M',"北京"};定义结构体数组a换成a[],struct student stu[3]={{..},{..},{..}};

Visual Studio 调试中将结构体指针转换为结构体数组查看

Visual Studio 调试中将结构体指针转换为结构体数组查看 1. 首先,我们在调试过程中,发现一个指针,无法显示其数组形式,很难受... 2. 将其添加到"监视"窗口 3. 修改监视的值,后面加上查看的索引个数 4. 其转化为数组 原文地址:https://www.cnblogs.com/onetrainee/p/12232646.html

解决一个题目。关于结构体与链表的操作

有初学者给我发了一个题目,求助我解决. 题目如下: 其实哥也不会C,但就是有一颗热心肠.于是果断研究起. 最后解决如下: 先上效果图 附上代码 : // LinkListDemo.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <STDLIB.H> # define LEN sizeof(struct examinee) //结构体长度 //