From: Alan W. I. <ir...@be...> - 2005-03-10 22:22:05
|
> Now you would ask me: "Nice, buddy, but why it works when I remove the > ampersand?" Here is the answer: when the compiler sees clipx alone (i.e. > without the subsequent brackets), it understands that you want the > address of the variable and automatically casts it with to the type > PLINT*. Notice that all unidimensional arrays of PLINT when referenced > by their name (without the brackets) have the same type: PLINT*. Actually, I did notice that. In fact, I thought that was the standard way to pass arrays since I learned all my C coding skills while working on PLplot. Therefore, my question was the reverse; why does it work with ampersand? I originally thought the ampersand would give a pointer to a pointer, but if I understood your explanation properly it gives a pointer to an array of PLINTs which is then changed (with warning) to pointer to PLINT which of course works. That reminds me very much of fortran. I say that in the positive sense; an extremely convenient language to use "when you know how". > > Hope this helps. Yes it did, and thanks. I will go kill the warnings now unless cvs update tells me someone else beat me to it. Alan __________________________ Alan W. Irwin email: ir...@be... phone: 250-727-2902 Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); PLplot scientific plotting software package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __________________________ Linux-powered Science __________________________ |