typedef用法问题

试写一算法,在无头结点的动态单链表上实现
线性表操作INSERT(L,i,b),并和在带头结点的动态单
链表上实现相同操作的算法进行比较。
实现下列函数:
void Insert(LinkList &L, int i, ElemType b);
单链表类型定义如下:
typedef struct LNode{
ElemType data;
struct LNode *next;
} LNode, *LinkList

我知道LinkList p;相当于LNode *p;可是void Insert(LinkList &L, int i, ElemType b);中的LinkList &L是什么意思??

第1个回答  2012-03-21
你的疑问就是C语言里面的一个参数传递的问题。举个简单的例子:
#include<stdio.h>
void Fun1(int a)
{
a = 3;
}

void Fun2(int &a)
{
a = 3;
}

int main()
{
int a = 2;
Fun1(a);
printf("%d\n",a);
Fun2(a);
printf("%d\n",a);
return 0;
}
你可以看到结果,调用函数Fun1之后,a的值并没改变,但是调用函数Fun2之后,a的值就变了,因为Fun2传递是地址(&a就是取a的地址的意思)。同样,对于你的问题,如果想在函数中改变指针L中存放的内容,就需要用到地址传递,也就是&L
第2个回答  2012-03-11
指针指向的地址吧,一个LNode结构L的地址吧。追问

LinkList L和LinkList &L有什么区别。。??LinkList L的L也是指针类型呀??

追答

LinkList L应该是不对的吧,LinkList类型是个指针,它应该存的是地址(比如说&L)。L是一个变量,不是指针。

LinkList &L相当于让函数作这样的定义:LinkList* p=&L。

LinkList L相当于让函数作这样的定义:LinkList* p=L。因为L不是一个指针,所以这样定义不对。

本回答被网友采纳

typedef语言用法
typedef是C语言中的一个重要关键字,用于为已知的数据类型或自定义的结构类型定义新的名字。这样做的目的是提升代码的可读性和简化复杂的类型声明。在结构体中使用typedef可能会遇到问题。例如,尝试在结构体中包含指向自身类型的指针时,如果没有正确处理,编译器会报错。这是因为typedef的新类型在结构体定...

typedef 用法疑问
1.typedef是声明而非定义。所谓声明,就是预先通知编译器,在遇到某种情况下怎么处理。编译器接受声明时,只会检查这个声明本身是否“符合该声明的规范”,并不会去核对这个声明是否“合理”。事实上,即使把真正的结构声明去掉:typedef struct stucture_a STRUCTURE_A;\/\/整个程序中没有关于structure_a类...

typedef用法
typedef用法如下。1、隐藏笨拙且难以理解的语法,使用typedef为现有类型创建别名,定义易于记忆的类型名。typedef 还可以掩饰复合类型,如指针和数组。2、typedef的最简单使用,给已知数据类型long起个新名字,例如叫byte_4。3、typedef与结构结合使用,这语句实际上完成两个操作:1) 定义一个新的结构类型。...

typedef 函数指针的用法
typedef int (*MYFUN)(int, int);这种用法一般用在给函数定义别名的时候 上面的例子定义MYFUN 是一个函数指针, 函数类型是带两个int 参数, 返回一个int 在分析这种形式的定义的时候可以用下面的方法:先去掉typedef 和别名, 剩下的就是原变量的类型。去掉typedef和MYFUN以后就剩:int (*)(int, int...

关于typedef的用法问题,不太清楚,求解
第一,是方便定义复杂的结构体\/共用体,指针等类型 第二,由于可以自定义类型名,可以做到见名知意的,结合好的变量名,可以做到一定程度自注释的效果 第三,便于不同平台的代码移植

C\/C++ typedef用法详解
typedef不是简单的字符串替换,如`const PSTR`不等于`const char*`,而是`char* const`。 typedef不能与其他存储类关键字一起使用,如`typedef static int INT2`是无效的。 与#define相比,typedef在指针场景下更具优势,能避免一些常见问题。同时,typedef也常用于抑制不良代码,提升代码质量。例...

typedef用法小结
在编程中,typedef是一个强大的工具,它用于创建平台无关的数据类型,简化难以理解的语法。通过typedef,我们可以为已有的类型创建同义字,为程序员提供直观易记的类型名。例如,当你想定义一个整数的同义字,你可以这样做:typedef int size;这样,"size"就成了int类型的同义词,让代码更易于理解。在...

typedef用法详解
typedef用法详解如下:1、为基本数据类型定义新的类型名。2、为自定义数据类型(结构体、共用体和枚举类型)定义简洁的类型名称。3、为数组定义简洁的类型名称。4、为指针定义箭洁的名称。typedef 是在C和C++编程语言中一个关键字。它用来对一个资料类型起一个新名字。目的是为了使源代码更易于阅读和...

typedef用法详解
typedef用法:1、用typedef为现有类型创建别名,定义易于记忆的类型名 2、typedef 还可以掩饰复合类型,如指针和数组。例如,你不用像下面这样重复定义有 81 个字符元素的数组:只需这样定义,Line类型即代表了具有81个元素的字符数组,使用方法如下:同样,可以像下面这样隐藏指针语法:typedef是在计算机编程...

一句话帮你理解typedef的用法
在C语言中,typedef是一个强大的工具,用于为复杂的声明创建别名,以提高代码可读性和灵活性。一句话来概括其用法:typedef声明的类型会替换到变量名的位置上。让我们首先了解typedef的一些常见应用场景。例如,当你为具有特定含义的类型如速度(SpeedType)定义别名时,可以这样做:在main函数中,使用typedef...

相似回答
大家正在搜