# ffi/ptr
Wrap a raw pointer address (a number) into a native resource so it can be used with `ffi/read`, `ffi/write`, and `:ptr` argument marshaling. Inverse of `ffi/addr`. Essential for following pointer fields inside C structs (e.g. `redisReply->element`).
## Syntax
[ffi/ptr $address]
## Parameters
- `$address` — non-negative number representing a raw memory address (typically obtained via `ffi/read $buf offset :ptr` or `ffi/addr`)
## Examples
# Dereference a pointer field inside a C struct set elem-ptr [ffi/read $reply $elements-offset :ptr] set elem-res [ffi/ptr $elem-ptr] set str-val [ffi/string $elem-res]
## Returns
A `ptr` native resource wrapping the address. Returns an `%Err` tagged map if the address is negative or allocation fails.
## See Also
`ffi/addr`, `ffi/read`, `ffi/nullptr`