All that it means to be a vector space is that you can add and subtract vectors, and scale them by elements of your field. This is clearly true about functions! What makes this vector space different than, say, $\mathbb{R}^n$ is that it doesn't have a standard basis to relate a given vector to.
Actually if $A$ is finite there is a reasonable basis. Let $A = \{a_1,\ldots,a_n\}$, then this vector space is the same as $\mathbb{R}^n$, your more familiar example. You can think of each element $a\in A$ as a basis vector and the the value $f(a)$ is the component in that "direction".
More precisely, if you take the functions $f_1,\ldots,f_n$ where $f_i(a_j) = \delta_{ij}$ then these form a basis for the space, and any function $f$ decomposes as $f = \sum_{i=1}^n f(a_i)f_i$.
[Truthfully the two vector spaces just described are dual. If you have seen dual spaces before then this function space is naturally isomorphic to the dual space to the free vector space on $A$.]
The big difference when $A$ is infinite is that these vectors $\{f_i\}$ do not form a basis. Instead, they span a proper subspace consisting of functions which are non-zero on only finitely many values $a \in A$. If we take a general function and try to write $f = \sum_{i\in I}f(a_i)f_i$ we will not get a finite sum, and thus we have left the theory of vector spaces.
It is possible to work with infinite sums of vectors, but you need to add a topology to do so. This is done especially in Hilbert spaces.
The Hilbert space $L^2[0,1]$ possesses a particularly nice (orthonormal) basis, which is $\{e^{2\pi i nx}\}_{n\in\mathbb{Z}}$. By computing a function's Fourier coefficients you can relate an arbitrary vector to this basis as an (infinite) linear combination.
However, in a general function space such as yours there is no nice basis to compare vectors to, and all you need to understand about this example is that you can add, subtract and scale functions, thus they form a vector space.