The carray function takes (pointer, shape, dtype) arguments (dtype being optional) and returns a C-layout array view over the data pointer, with the given shape and dtype. pointer must be a ctypes pointer object (not a Python integer). The array's dimensionality corresponds to the shape tuple's length. If dtype is not given, the array's dtype corresponds to the pointer's pointee type.