Python Glossary English

все Python 3ctypesпонятие

ctypes.c_int

типы C

Тип C int в ctypes: изменяемая обёртка над числом фиксированной ширины для передачи в функции на C.

Синтаксис

x = ctypes.c_int(42)
x.value  # → 42

В отличие от int Python, ширина фиксирована, и лишние биты молча отбрасываются: c_int(2**32 + 1).value равно 1. Значение читают и меняют через атрибут .value. Рядом лежат c_double, c_char_p, c_size_t и другие типы — размер даёт ctypes.sizeof. Строку из Python передавайте как bytes или через c_char_p, а не как str.

Примеры

import ctypes
x = ctypes.c_int(42)
print(x.value)   # → 42
x.value += 1
print(x.value)   # → 43
print(ctypes.c_int(2**32 + 1).value)   # → 1 — старшие биты отброшены
print(ctypes.sizeof(ctypes.c_double))   # → ? обычно 8 байт

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности