Working with arrays
Numerical and high-performance calculations often make use of arrays. Cython provides an easy way to interact with different types of arrays, using directly low-level C arrays, or the more general typed memoryviews. We will see how to do this in the following subsections.
C arrays and pointers
C arrays are a collection of items of the same type, 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 bits (16 bytes) of memory. This portion of memory can be accessed through an address to that memory location.
To obtain the address of a variable, we can use the address operator denoted by the &
symbol. We can also use the printf
function, as follows...