c语言里 sqlist

c语言里 sqlist,第1张

c语言里 sqlist?//定义顺序表L的结构体

typedef struct

{

Elemtype data[MaxSize];

int length

}SqList

//建立顺序表

void CreateList(SqList * &L,ElemType a[ ],int n)

{

int i

L = (SqList * )malloc(sizeof(SqList))

for(i = 0 i <n i++)

L->data[i] = a[i]

L->length = n

}

//输出顺序表:

void DispList(SqList *L)

{

int i

for(i = 0i <L ->lengthi++)

printf(“%d”,L->data[i])

printf(“\n”)

}。C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计高数目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言衫念旅代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

二十世纪八十年代,或凳美国国家标准局为了避免各开发厂商用的C语言语法产生差异,给C语言制定了一套完整的美国国家标准语法,称为ANSI C。作为C语言最初的标准。2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

C语言编译器普遍存在于各种不同的 *** 作系统中,例如Microsoft Windows, Mac OS X, Linux, Unix等。C语言的设计影响了众多后来的编程语言,例如C++、Objective-C、Java、C#等。

L是一个指针,指向SqList这样一个结构这个语句是一个赋值语句,malloc(sizeof(SqList))是分配一块大小为sizeof(SqList)的内存,并返拦洞回首地址,(SqList

*)表示把余衡老这个指针转型竖升为SqlList结构的指针

这个定义应该是C++里面的引用的定义。

因为C里面&只是一个取地址的符号。而且C里面不会在生命的时候去去一个变量的地址

sqlist *L 是声明一个指针

sqlist &L 是声明一个引用

指针与中猜引用的区别在于

(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针.

由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值.

String &rs = string1

由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需要测试其的有效性.

(2)指针可以被重新赋值而reference则总是指向最初或地的对象.

(3)必须使用reference的场合. Operator[] *** 作符 由于该 *** 作符很特槐盯别地必须返回 [能够被当做assignment 赋值对象] 的东西,所以需要给他返回一个 reference.

(4)其卖明型实引用在函数的参数中使用很经常.

void Get***(const int&a) //这样使用了引用有可以保证不修改被引用的值

{

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12447358.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-23
下一篇2023-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存