---
title: C Interoperability
framework: swift
role: collectionGroup
role_heading: API Collection
path: swift/c-interoperability
---

# C Interoperability

Use imported C types or call C variadic functions.

## Topics

### C and Objective-C Pointers

- [OpaquePointer](swift/opaquepointer.md)
- [AutoreleasingUnsafeMutablePointer](swift/autoreleasingunsafemutablepointer.md)

### C Variadic Functions

- [withVaList(_:_:)](swift/withvalist(_:_:).md)
- [CVaListPointer](swift/cvalistpointer.md)
- [CVarArg](swift/cvararg.md)
- [getVaList(_:)](swift/getvalist(_:).md)

### Pointers to Values

- [withUnsafePointer(to:_:)](swift/withunsafepointer(to:_:)-9fjn6.md)
- [withUnsafePointer(to:_:)](swift/withunsafepointer(to:_:)-35wrn.md)
- [withUnsafeMutablePointer(to:_:)](swift/withunsafemutablepointer(to:_:).md)
- [withUnsafeBytes(of:_:)](swift/withunsafebytes(of:_:)-5zxtl.md)
- [withUnsafeBytes(of:_:)](swift/withunsafebytes(of:_:)-5gesg.md)
- [withUnsafeMutableBytes(of:_:)](swift/withunsafemutablebytes(of:_:).md)

### Aliases for Imported C Types

- [CBool](swift/cbool.md)
- [CChar](swift/cchar.md)
- [CChar8](swift/cchar8.md)
- [CChar16](swift/cchar16.md)
- [CChar32](swift/cchar32.md)
- [CDouble](swift/cdouble.md)
- [CLongDouble](swift/clongdouble.md)
- [CFloat](swift/cfloat.md)
- [CFloat16](swift/cfloat16.md)
- [CInt](swift/cint.md)
- [CLong](swift/clong.md)
- [CLongLong](swift/clonglong.md)
- [CShort](swift/cshort.md)
- [CSignedChar](swift/csignedchar.md)
- [CUnsignedChar](swift/cunsignedchar.md)
- [CUnsignedInt](swift/cunsignedint.md)
- [CUnsignedLong](swift/cunsignedlong.md)
- [CUnsignedLongLong](swift/cunsignedlonglong.md)
- [CUnsignedShort](swift/cunsignedshort.md)
- [CWideChar](swift/cwidechar.md)

## See Also

### Programming Tasks

- [Input and Output](swift/input-and-output.md)
- [Debugging and Reflection](swift/debugging-and-reflection.md)
- [Macros](swift/macros.md)
- [Concurrency](swift/concurrency.md)
- [Key-Path Expressions](swift/key-path-expressions.md)
- [Manual Memory Management](swift/manual-memory-management.md)
- [Type Casting and Existential Types](swift/type-casting-and-existential-types.md)
- [Operator Declarations](swift/operator-declarations.md)
