What is a $0\times0$ or $0\times3$ matrix? In the comments to another question, the following exchange was noted:

... wait until you see a 0×0 matrix. 

and 

... or worse, a 0×3 matrix! 

What are these things? Do they have a name or any special proprieties? Where are they used?
 A: "Matrices" with zero rows/columns can be thought of as linear transformations to/from zero-dimensional vector spaces. A $0\times n$ matrix can also be thought of as an empty array of numbers which maps everything to the zero vector. They have their usefulness in specifying initial/terminal objects in computer programming.
A: This is easiest to understand if you view matrices and vectors as functions, i.e., if you see the space of $n$-by-$n$ real matrices $\mathbb R^{m\times n}$ as the space of functions
$$
M: \{1,\ldots,m\} \times \{1,\ldots,n\} \longrightarrow \mathbb R
\tag 1
$$
that assign real numbers (resp. numbers from your favourite field) to pairs of numbers $(i,j)$ no bigger than $m$ and $n$. Normally we denote $M(i,j)$ as $M_{ij}$, but that's just notation. (For vectors, just take either $m$ or $n$ to be $1$.)
If $n$ is zero, then the integer interval $\{1,\ldots,n\}$ is empty, and therefore so is the Cartesian product, which means that both zero-by-zero, $n$-by-zero and zero-by-$n$ matrices and vectors should all be understood as functions
$$
M:\varnothing \longrightarrow \mathbb R
\tag 2
$$
from the empty set to the field.
And this means, in turn, that this question is simply a version of a much more "vanilla" example of a question that trips people up:

is there a function from the empty set to the reals?

The answer to this is yes, and it's known as the "empty function", which is explained in Wikipedia here and in nice threads on this site starting here and here and in other linked threads.
In short, the empty function into $\mathbb R$ is the function which assigns a real number to every element $i\in\varnothing$ $-$ which is easy, since there are no such $i$s and therefore no need to do any actual assignments of real numbers.
Or, in other words, an $n$-by-zero vector is an array of $n$ rows where each row has one real number for each column, but there are no columns and therefore no numbers. And a zero-by-zero matrix is an array of numbers in columns and rows with one real number at each row-column intersection, but there are no columns and no rows so there are no numbers.

That said, things get more interesting when you want to see matrices as more than just arrays of numbers, and you also want to understand them as concrete representations of a linear map between vector spaces.
As a general rule, if you have a mapping $A:V\to W$, where $\dim(V)=n$ and $\dim(W)=m$ and you have bases $\beta = \{v_1,\cdots,v_n\}$ for $V$ and $\gamma = \{w_1,\cdots,w_m\}$ for $W$, the matrix representation for $A$ is the set of numbers $A_{ij}$ such that
$$
A(v_j) = \sum_{i=1}^m A_{ij} w_i.
\tag 3
$$
What happens when $n$ (resp. $m$) is zero? In this case, the vector space itself, $V$, has dimension zero, which means that $V=\{\vec 0\}$. That means that $V$ is the vector space that consists only of the zero vector, which is spanned by the empty basis $\beta = \varnothing$.
So, with that in mind:

*

*If $n=0$, then equation $(3)$ is trivially true for all $v_j\in \beta$, since there are no such $v_j$ to worry about.

*If $m=0$, then the summation $\sum_{i=1}^m$ is empty, which means that it defaults to zero (as all empty summations should). And, of course, this is completely in line with the fact that $m=0$ implies that our linear map is $A: V\longrightarrow W=\{\vec 0\}$ and can only ever produce the zero vector.

And finally, to top it all off: what linear map does the zero-by-zero matrix correspond to? well, to the only possible linear map
$$A: \{\vec 0\} \longrightarrow \{\vec 0\},
\tag 4
$$
which assigns the zero vector to every basis vector $v_j$ in the basis $\beta$ for $V=\{\vec 0\}$ (of which there aren't any).
