---
title: "allocate(capacity:)"
framework: swift
role: symbol
role_heading: Type Method
path: "swift/unsafemutablepointer/allocate(capacity:)"
---

# allocate(capacity:)

Allocates uninitialized memory for the specified number of instances of type Pointee.

## Declaration

```swift
static func allocate(capacity count: Int) -> UnsafeMutablePointer<Pointee>
```

## Parameters

- `count`: The amount of memory to allocate, counted in instances of Pointee.

## Discussion

Discussion The resulting pointer references a region of memory that is bound to Pointee and is count * MemoryLayout<Pointee>.stride bytes in size. The following example allocates enough new memory to store four Int instances and then initializes that memory with the elements of a range. let intPointer = UnsafeMutablePointer<Int>.allocate(capacity: 4) for i in 0..<4 {     (intPointer + i).initialize(to: i) } print(intPointer.pointee) // Prints "0" When you allocate memory, always remember to deallocate once you’re finished. intPointer.deallocate() You must only use deallocate() to end the lifetime of memory created with allocate(); it is a programming error to use free or another deallocation API, and may result in undefined behavior.
