все 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Сообщить о неточности