0 0

大话数据结构中有关结构体指针使用的问题5

下面是大话数据结构中的相关代码,是有关顺序表链式存储的相关定义和2个方法,我想问为什么initList的方法参数要定义为LinkList *L而不是像ListEmpty方法中的LinkList L呢?这样在使用的时候明显没后者方便啊,有什么特别的含义吗?书中很多地方都有类似的使用方法,不明白作者为什么有些方法用前者的方式,有些又用后者的方式?

typedef int Status;/* Status是函数的类型,其值是函数结果状态代码,如OK等 */
typedef int ElemType;/* ElemType类型根据实际情况而定,这里假设为int */

typedef struct Node
{
    ElemType data;
    struct Node *next;
}Node;
typedef struct Node *LinkList; /* 定义LinkList */

/* 初始化顺序线性表 */
Status InitList(LinkList *L)
{
    *L=(LinkList)malloc(sizeof(Node)); /* 产生头结点,并使L指向此头结点 */
    if(!(*L)) /* 存储分配失败 */
            return ERROR;
    (*L)->next=NULL; /* 指针域为空 */

    return OK;
}

/* 初始条件:顺序线性表L已存在。操作结果:若L为空表,则返回TRUE,否则返回FALSE */
Status ListEmpty(LinkList L)
{
    if(L->next)
            return FALSE;
    else
            return TRUE;
}
2013年5月09日 08:34

2个答案 按时间排序 按投票排序

0 0

后一种写法传的也是一个指针,前者的写法传的是一个指针的指针。在这段代码中,我觉得前一种写成后一种也没错,楼主可以试一下。

2013年5月09日 22:44
0 0

一个结构体的构造大致和数组类似,
1. 在C中,函数中不可以讲数组作为参数直接传递的,结构体也不可以。所以,如果真的想要传递一个数组到函数中,需要使用指针,就是例子中的LinkList *L。指针默认指向数组中的第一个元素。
2. 我看你这个例子是要做一个交换功能,在这种需要修改外部数据的情况下,只能传递指针,因为指针代表数据在内存中的地址。

2013年5月09日 12:52

相关推荐

    大话数据结构 .pptx

    大话数据结构 .pptx

    基于《大话数据结构》进行数据结构的学习.zip

    基于《大话数据结构》进行数据结构的学习数据结构研究基于《大话数据结构》进行数据结构的学习线性表单链表栈的顺序存储结构两栈共享空间栈的链式存储结构循环队列的顺序存储队列的链表结构串查找字符子串位置KMP...

    大话数据结构.zip

    大数据也可以定义为来自各种来源的大量非结构化或结构化数据。从学术角度而言,大数据的出现促成广泛主题的新颖研究。这也导致各种大数据统计方法的发展。大数据并没有统计学的抽样方法;它只是观察和追踪发生的事情...

    大话数据结构,关于数据结构的书籍

    大话数据结构

    大话数据结构01234.zip

    大话数据结构大数据结构大话数据结构

    大话西游鼠标指针

    此外,对于标签中的"大话鼠标"、"大话西游鼠标"和"西游鼠标",这些都是对这款鼠标指针主题的关键词描述,它们强调了这款主题的特色在于与《大话西游》这部电影的关联。用户在使用这款主题时,可以感受到电影中的角色...

    《大话数据结构》代码-c.zip

    《大话数据结构》语言c参考《大话数据结构》目录博客笔记-目录注表格中note链接至博客园笔记,代码链接至本库代码笔记 代码第1章-数据结构绪论 无效的第2章-算法 无效的第3章-线性表 第3章线性表第4章-栈与阻碍 第4...

    《大话数据结构》-静态链表代码-个人自用

    个人自用

    算法与数据结构c与c++描述

    《算法与数据结构C与C++描述》是针对计算机科学中的核心概念——算法和数据结构进行深入探讨的教材。在编程领域,理解并熟练运用这些概念对于提升代码效率和优化程序设计至关重要。本文将详细阐述其中的关键知识点。...

    《大话数据结构》源码(Python版).zip

    《大话数据结构》源码(Python版)《大话数据结构》配套源码(Python版)该书随书源码的语言为C语言我参考了书籍内容和安装源码,写了一套Python格式的安装源码。这套安装源码并非直接翻译C语言的安装源码,而是结合...

    大话数据结构 JAVA版本源代码.zip

    大话数据结构 JAVA版本源代码.zip

    大话数据结构课件与代码

    要学好数据结构 但是面对枯燥乏味的数据结构内容,是不是很无聊,想睡觉,想放弃 试试大话这个资料

    数据结构.mdaaa

    ### 数据结构概述 数据结构是计算机科学中的一个重要概念,它主要研究如何组织和存储数据,以便可以高效...理解这些基础数据结构的概念和工作原理对于编程至关重要,有助于开发者更好地选择合适的数据结构来解决问题。

    数据结构课件完整版

    数据结构是计算机科学中的核心课程,它探讨了如何在计算机中高效地组织和管理数据,以便进行各种操作,如搜索、插入、删除等。本课件涵盖了数据结构的多个重要主题,包括线性表、栈和队列、串、数和二叉树、图、查找...

    C实现单链表,根据《大话数据结构》实现

    《大话数据结构》——C语言简单实现单链表结构及相关一些操作

    大话数据结构JAVA版本源代码.zip

    大话数据结构JAVA版本源代码大话数据结构JAVA版本源代码,优化无止境,掌握基础能力配置开发IDE : IntellijJDK1.8项目管理工具: Maven安装安装 Maven,http://maven.apache.org/download.cgi跑步mvn package 然后就...

    读书笔记大化设计模式、大话数据结构.zip

    读书笔记大化设计模式、大话数据结构

Global site tag (gtag.js) - Google Analytics