数据结构之C语⾔的数组与python列表的⽐较
编程先学c语言还是pythonC语⾔的数组与python列表的⽐较
C语⾔中的数组特点
(1)在C语⾔中,数组⼀旦被定义后,占⽤的内存空间就是固定的,容量就是不可改变的,既不能在任何位置插⼊元素,也不能在任何位置删除元素,只能读取和修改元素,我们将这样的数组称为静态数组。反过来说,如果数组在定义后可以改变容量,允许在任意位置插⼊或者删除元素,那么这样的数组称为动态数组。
1、PHP、JavaScript 等解释型的脚本语⾔⼀般都⽀持动态数组,⽽ C、C++ 等编译型的语⾔⼀般不⽀持动态数组。
2、总之,C语⾔中的数组是静态的,⼀旦定义后长度就不能改变了,不要尝试去插⼊或删除元素。
(2)C语⾔中的数组不能存放不同类型的数据,这种特性是由计算机的存储机制与读取决定的。
详细的具体实现内容如下:
以32位系统为例,⼀个整数的存储⼤⼩为4字节,C语⾔定义⼀个数组a,数组中都是整数,则每个整数的存储占据计算机内存的4个字节。假如第⼀个整数的开始存储位置是100,则第⼆个整数的开始存储位置是104,以此类推。当读取数组a的第三个整数时,a[2],此时计算机计算存储位置是数组a开始的100位,100+4*2=108,读取108存储位置的4字节数据。同理,相同的浮点数也可以这样读取。
Python中的列表结构
(1)Python中的列表是动态列表,可以增加元素,删除元素,更改元素的内容。当创建⼀个列表时,列表的长度已经确定,增加元素时,把列表中的内容复制过来,同时开辟⼀个⽐原来更多的空间,不局限于增加⼏个元素,多开辟⼏个空间,也可能4个位开辟出8个位置的。(2)Python列表可以同时容纳不同类型的数据,但此时在底层存储时,列表b的开始存储位置是100,列表中的内容可变成整数类型的类似于指针的数据,假如100位置数据是888,则读取数据时指向888位置的数据。即使是不同的数据类型都可以⽤⼀个整数替代。获取列表第三个数据,b[2],计算机⾸先得到列表的存储头部100,然后100+4*2=108,取出108位置的4字节数据,然后根据指⽰的存储位置指向具体数据。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论