我还是Python的新手,所以请容忍我。我最初是C++和C语言的,我仍然掌握着这种新语言。你知道吗
我目前正在使用Python来构建数据结构。我正在使用Rance Necaise的教科书(使用Python的数据结构和算法)。Python中的数组仍然让我有点困惑。你知道吗
根据这本书,有一段代码我看不懂。你知道吗
import ctypes
ArrayType = ctypes.c_int * 5
slots = ArrayType()
根据这本书,吃角子老虎机基本上就像一个指针
我的问题是什么是ArrayType的对象类型,为什么在下一行有一个类似于函数call ArrayType()的构造函数?这些语句实际上是如何生成类似指针的对象槽的?你知道吗
Python中的所有名称都是对对象的引用,所以^ {< CD2>}是对对象的引用(在C++术语中,引用基本上是指针,它永远不能为空)。ArrayType
不创建指针,而是创建对象。你知道吗请参见the ^{} documentation 关于数组。你知道吗
c_int
的类型是PyCSimpleType
:示例中
ArrayType
的类型是PyCArrayType
:PyCArrayType
是一个可以创建对象的类。它创建的数组类型是c_long_Array_5
,最多只能容纳5个值:如果创建的数组值少于5个,它们将默认为零:
因此,您的示例将创建一个初始化为零的数组:
相关问题 更多 >
编程相关推荐