home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / lang / c / 12341 < prev    next >
Encoding:
Internet Message Format  |  1992-08-14  |  2.1 KB

  1. Path: sparky!uunet!crdgw1!rdsunx.crd.ge.com!bart!volpe
  2. From: volpe@bart.NoSubdomain.NoDomain (Christopher R Volpe)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: I wish ANSI-C sizeof (void) == 1 (was Re: preprocessing subterfuge)
  5. Message-ID: <1992Aug14.195132.16700@crd.ge.com>
  6. Date: 14 Aug 92 19:51:32 GMT
  7. References: <1992Aug9.144525.4521@taumet.com> <23277A@erik.naggum.no> <1992Aug10.031337.4424@druid.uucp> <1992Aug11.202135.28878@ugle.unit.no> <BswME5.6Mp@research.canon.oz.au>
  8. Sender: volpe@bart (Christopher R Volpe)
  9. Reply-To: volpe@ausable.crd.ge.com
  10. Organization: GE Corporate Research & Development
  11. Lines: 34
  12. Nntp-Posting-Host: bart.crd.ge.com
  13.  
  14. In article <BswME5.6Mp@research.canon.oz.au>, greyham@research.canon.oz.au (Graham Stoney) writes:
  15. |> toriver@flipper.pvv.unit.no (Tor Iver Wilhelmsen) writes:
  16. |> 
  17. |> When I first heard of GNU C's deviation from the standard with the sizeof type
  18. |> 'void', I thought it was a bad idea; but now I hope ANSI will standardise it
  19. |> next time around. void * is the natural type to use when you're considering a
  20. |> pointer to a chunk of memory that can hold any arbitrary type; in the Unix
  21. |> kernel for instance it seems a natural replacement for caddr_t. And any time
  22. |> I need to do arithmetic on one, it's always in terms of bytes - it would be
  23.    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  24. If you need to do arithmetic on one, then the variable should not be declared
  25. as "void *" in the first place. That type is for pointing to objects whose
  26. size you don't know. If you know you're going to be dealing with arrays of
  27. bytes, then declare it as "[unsigned] char *". 
  28.  
  29. -Chris
  30.  
  31. |> great to be able to not have to cast to char * every time you need to do
  32. |> arithmetic on one, which seems to happen quite a lot in stuff like device
  33. |> drivers.
  34. |> 
  35. |> Any comments?
  36. |> 
  37. |> Graham
  38. |> -- 
  39. |> Graham Stoney                    | "a Perl script is correct if it's halfway
  40. |> Flip Dibner fan club, "Hi Flip!" |  readable and gets the job done before your
  41. |> Ph: +61 2 805-2909  Fax: -2929   |  boss fires you." L. Wall & R. Schwartz
  42.  
  43. -- 
  44. ==================
  45. Chris Volpe
  46. G.E. Corporate R&D
  47. volpecr@crd.ge.com
  48.