ArrayType 编辑

ArrayType represents C arrays

Syntax

Returns a new CType representing an array data type.

CType ArrayType()
  type[
  length]
);
Parameters
Type: It represents the type of the elements or variable which is going to be present in an array
 
length Optional
It denotes the number of entries present in an array or the number of elements that an array should contain. If you don't specify this parameter, the array's length is unspecified.
Return value

A CType represents the newly declared array type.

Exceptions thrown
TypeError
type is not a CType, or type.size is undefined.If the length is specifed but if it is not a valid one,then it is also thrown
RangeError
The size of the resulting array can't be represented as both a size_t and as a JavaScript number.

Properties

PropertyTypeDescription
elementTypeCTypeThe data type of the elements in an array  type. Read only.
lengthNumberThe number of elements in the array, or undefined if the array type doesn't have a specified length. Read only.

Properties inherited from CType

These properties are available on all CType objects.

PropertyTypeDescription
nameString

The type's name. Read only.

For primitive types, this is just the name of the corresponding C type. For structure and opaque pointer types, this is simply the string that was passed to the constructor. For other function, pointer, and array types, this should be a valid C type expression.

ptrCTypeReturns a CType representing the data type "pointer to this type". This is the result of calling ctypes.PointerType(the_type). Read only.
sizeNumber

The size of the type, in bytes. This is the same value as the C sizeof. Read only.

Note: ctypes.void_t.size is undefined.

Method overview

Methods inherited from CType

CType array([n])
String toSource()
String toString()

ArrayType CData Syntax

CData sized_arraytype();
CData unsized_arraytype(length);
sized_arraytype and unsized_arraytype are ArrayType CType.
Parameters
length
The number of entries the array type should be able to contain. Only for unsized ArrayType.
Return value

A CData representing the newly allocated array.

Exceptions thrown
TypeError
length is not provided for unsized array, or is provided for sized array.

ArrayType CData Properties

PropertyTypeDescription
lengthNumberThe length of the array. Read only.

In addition, each element in the array can be referenced by index using standard bracket notation, such as myArray[index].

Properties inherited from CData

PropertyTypeDescription
constructorCType

The data type of the CData object, as a CType. Read only.

Note: This is never ctypes.void_t or an array type with an unspecified length.
valueobjectThe JavaScript equivalent of the CData object's value. This will throw a TypeError exception if the value can't be converted.

ArrayType CData Method_overview

CData addressOfElement(idx)

Methods inherited from CData

CData address()
String toSource()
String toString()

ArrayType CData Methods

addressOfElement()

Returns a new CData object of the appropriate pointer type, whose value points to the specified array element on which the method was called.

CData addressOfElement(
  idx
);
Parameters
idx
A numeric value indicating the offset into the array of the element just to return a pointer. If this value isn't a valid JavaScript number that's also a valid index into the array, a TypeError exception is thrown.
Return value

A new CData object pointing to the specified element.

The type of the returned object will be determined by ctypes.PointerType(theArrayType.constructor.elementType)).

See Also

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:55 次

字数:9552

最后编辑:8年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文