code: def __init__(self, array, ptr=None):
      self._arr = array
  
      if ctypes:
          self._ctypes = ctypes
          self._data = self._ctypes.c_void_p(ptr)
      else:
          # fake a pointer-like object that holds onto the reference
          self._ctypes = _missing_ctypes()
          self._data = self._ctypes.c_void_p(ptr)
          self._data._objects = array
  
      if self._arr.ndim == 0:
          self._zerod = True
      else:
          self._zerod = False
  
imports: import ast
  import re
  import sys
  import warnings
  from ..exceptions import DTypePromotionError
  from .multiarray import dtype, array, ndarray, promote_types
label_desc: Use image node_id 1 to create a new _ctypes object  with example: obj = _ctypes(array, ptr)