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!Schauble@MIT-MULTICS.ARPA From: Paul SchaubleNewsgroups: net.lang.c Subject: Array parameters Message-ID: <7081@brl-tgr.ARPA> Date: Tue, 8-Jan-85 00:59:57 EST Article-I.D.: brl-tgr.7081 Posted: Tue Jan 8 00:59:57 1985 Date-Received: Wed, 9-Jan-85 03:06:26 EST Sender: news@brl-tgr.ARPA Organization: Ballistic Research Lab Lines: 32 Pardon my lack of familiarity with modern C. I do hope someone will take time to answer this: From Joseph S.D. Yao commenting on the declaration int a[5][6]; as a function formal parameter. > Oh, and i think you may have missed the earlier comment that, despite > the syntactic sugar of declaring the argument as if it were an array, > it actually i s a pointer, in compatibility with early versions of C > that wouldn't let you pass anything longer than a word/longword as an > argument. The pointer's size is correctly returned by sizeof(). Current C compilers allow passing a structure as a parameter. That's a real structure, not a pointer to a struct as in the old style. I presume then that one can pass a real array in the same fashion. then if function (a); int a[5][6] says that the parameter is "really" a pointer, for compatability, what does the declaration look like when the parameter is really an array? Or where did I go wrong? Paul .