allocating arrays
    Brandon Allbery 
    allbery at ncoast.UUCP
       
    Thu May  8 08:21:12 AEST 1986
    
    
  
Expires:
Quoted from <200 at pyuxv.UUCP> ["Microsoft 'C' - Strange behaviour with doubles"], by cim2 at pyuxv.UUCP (Robert L. Fair)...
+---------------
| Consider an array of 15 pointers to arrays of doubles:
| 
| 	double (*parray[15])[];
| 
| The following code to 'malloc' the actual double array barfs on Microsoft 'C',
| with a 'different levels of indirection' warning on the '='.
| The code passes through LINT, and compiles OK on UN*X 5.2
| 
| 	char	*malloc();
| 
| 	parray[0] = (double*)malloc((unsigned)sizeof(double)*75);
| 
| Microsoft produces the same error if the coercion is (double**), (double),
| or nothing at all !
| 
| Any ideas ?
+---------------
double (*parray[15])[]; means:
	an indefinitely-sized array of (or a pointer to)
		an array of 15
			(double *)
You want to allocate an array[15] of (double *)?  ``double *parray[15];''
                  ...an array of 15 (double)?  ``double parray[15][];''
My compiler (pcc) won't even TAKE ``double (*parray[15])[];'' unless it's
initialized or external; apparently sys5 converts it to the declaration
``double *(*parray[15]);'' -- ptr to array[15] of (double *) -- automatically.
--Brandon
-- 
decvax!cwruecmp!ncoast!allbery  ncoast!allbery at Case.CSNET  ncoast!tdi2!brandon
(ncoast!tdi2!root for business) 6615 Center St. #A1-105, Mentor, OH 44060-4101
Phone: +01 216 974 9210      CIS 74106,1032      MCI MAIL BALLBERY (part-time)
PC UNIX/UNIX PC - which do you like best?  See <1129 at ncoast.UUCP> in net.unix.
    
    
More information about the Comp.lang.c
mailing list