数组和链表的区别,数组和指针的区别

来源:互联网 发布:qq飞车噬魂金甲数据 编辑:程序博客网 时间:2024/06/06 01:16

1.数组和链表的区别整理如下:

数组静态分配内存,链表动态分配内存;

数组在内存中连续,链表不连续;

数组元素在栈区,链表元素在堆区;

数组利用下标定位,时间复杂度为O(1),链表定位元素时间复杂度O(n);

数组插入或删除元素的时间复杂度O(n),链表的时间复杂度O(1)。

2.数组与指针的区别


数组作为左值和数组作为右值时的区别造成了无数人的困惑与误解:数组名作为右值时确实等价于一个指针,因为数组无法像普通对象那样返回它的值,它的元素可能有成百上千个,但作为一个左值时——比如作为取地址操作符的操作数时,数组就是作为一个数组对象而出现的,而不是指针,取地址返回一个指向数组的指针,而不是指向指针的指针。 
原创粉丝点击