Тип c_int
Тип c_int из модуля std::ffi представляет
собой целочисленный тип, который соответствует типу
int в языке C. Он используется при работе с
FFI (Foreign Function Interface) для обеспечения
совместимости типов между Rust и C. Размер этого типа
зависит от платформы: обычно это 32 бита, но может
быть и другим на некоторых архитектурах.
Синтаксис
use std::ffi::c_int;
let x: c_int = 42;
Пример
Давайте создадим переменную типа c_int
и выведем её значение:
use std::ffi::c_int;
fn main()
{
let x: c_int = 42;
println!("{}", x);
}
Результат выполнения кода:
42
Пример
Давайте узнаем размер типа c_int
на текущей платформе:
use std::ffi::c_int;
use std::mem::size_of;
fn main()
{
let size = size_of::<c_int>();
println!("{}", size);
}
Результат выполнения кода:
4
Пример
Давайте используем c_int в
extern-функции для вызова кода на C:
use std::ffi::c_int;
extern "C"
{
fn abs(input: c_int) -> c_int;
}
fn main()
{
let res = unsafe { abs(-42) };
println!("{}", res);
}
Результат выполнения кода:
42
Смотрите также
-
тип
c_uint,
который соответствует беззнаковому типу unsigned int в C -
тип
c_char,
который соответствует типу char в C -
блок
extern "C",
который используется для объявления функций с C-соглашением о вызовах -
атрибут
repr(C),
который обеспечивает C-совместимое представление структур