Numerical and high performance calculations often make use of arrays. Cython provides an easy way to interact with them, from the low-level approach of C arrays, to the more general typed memoryviews.
C arrays are a collection of items of the same size stored contiguously in memory. Before digging into the details, it is helpful to understand (or review) how memory is managed in C.
Variables in C are like containers. When creating a variable, a space in memory is reserved to store its value. For example, if we create a variable containing a 64 bit floating point number (
double), the program will allocate 64 bit (16 bytes) of memory. This portion of memory can be accessed through an address to that memory ...