Lots of scientific code in Fortran has sparse arrays, so a NxN array that only has values on 5 diagonals will store that as 5xN array to save memory allowing you to run a larger problem.
That's a very orthogonal issue.
Sparse arrays are supported on C libraries too. I have done my time with CSC and CSR even inside Python that called out to C libraries.