Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA
Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!brl-tgr!tgr!gwyn@Brl-Vld.ARPA
From: Doug Gwyn (VLD/VMB) 
Newsgroups: net.lang.c
Subject: Re:  multidimensional arrays in C
Message-ID: <7038@brl-tgr.ARPA>
Date: Sun, 6-Jan-85 12:35:04 EST
Article-I.D.: brl-tgr.7038
Posted: Sun Jan  6 12:35:04 1985
Date-Received: Tue, 8-Jan-85 02:40:33 EST
Sender: news@brl-tgr.ARPA
Organization: Ballistic Research Lab
Lines: 16

I love C and use it for almost all applications programming.
The single biggest deficiency I have found in the language
is what Mr. Grady explained:  Formal array parameters are
not permitted to have parametric dimensions.  That is,

void mat_mul( p, q, r, a, b, c )
	int	p, q, r;	/* dimensions */
	double	a[p][q], b[q][r], c[p][r];	/* arrays */
	{

is not a legal C procedure header.  It is clear that a C
compiler COULD be made to handle this more general case,
and that there is no practical way to code this procedure
using the current language definition.  If one wants to
displace Fortran from its dominating position in numerical
software, this problem HAS to be solved.