# C Interoperability Use imported C types or call C variadic functions. ## Topics ### C Pointers - ``Swift/OpaquePointer`` - ``Swift/AutoreleasingUnsafeMutablePointer`` ### C Variadic Functions - ``Swift/withVaList(_:_:)`` - ``Swift/CVaListPointer`` - ``Swift/CVarArg`` - ``Swift/getVaList(_:)`` ### Pointers to Values Access a pointer to a variable in memory for explicit passing to C functions. - ``Swift/withUnsafePointer(to:_:)-9fjn6`` - ``Swift/withUnsafePointer(to:_:)-35wrn`` - ``Swift/withUnsafeMutablePointer(to:_:)`` - ``Swift/withUnsafeBytes(of:_:)-5zxtl`` - ``Swift/withUnsafeBytes(of:_:)-5gesg`` - ``Swift/withUnsafeMutableBytes(of:_:)`` ### Aliases for Imported C Types - ``Swift/CBool`` - ``Swift/CChar`` - ``Swift/CChar8`` - ``Swift/CChar16`` - ``Swift/CChar32`` - ``Swift/CDouble`` - ``Swift/CLongDouble`` - ``Swift/CFloat`` - ``Swift/CFloat16`` - ``Swift/CInt`` - ``Swift/CLong`` - ``Swift/CLongLong`` - ``Swift/CShort`` - ``Swift/CSignedChar`` - ``Swift/CUnsignedChar`` - ``Swift/CUnsignedInt`` - ``Swift/CUnsignedLong`` - ``Swift/CUnsignedLongLong`` - ``Swift/CUnsignedShort`` - ``Swift/CWideChar``