q for the C hackers
Kevin D. Clark
kclark at CetaceanNetworks.com
Tue Aug 19 09:07:23 EDT 2003
Aaron Hope <Aaron.Hope at unh.edu> writes:
> On Mon, 2003-08-18 at 20:13, Erik Price wrote:
> > However, what is the convention in C? There seem to be two fine ways
> > of doing it -- using the preprocessor, or the const keyword:
> >
> > #define NUMBER_OF_UNITS 8
> >
> > const int NUMBER_OF_UNITS = 8;
>
> Generally, the more the compiler knows, the better it can do it's job,
> so I usually prefer the latter. There are still some places in C (C99
> specifically) where you you have no choice but to use macros, like array
> declarations.
Another possibility is to use enums, i.e.:
enum { BUFSIZE=512 };
char arr[BUFSIZE];
I use this frequently, and I recommend this.
> I believe that C++ const variables can be used wherever a
> simple #define can.
Well, they can be used for array initialization too.
--kevin
--
Kevin D. Clark / Cetacean Networks / Portsmouth, N.H. (USA)
cetaceannetworks.com!kclark (GnuPG ID: B280F24E)
alumni.unh.edu!kdc
More information about the gnhlug-discuss
mailing list