Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #15346

Re: Create readonly array of data ?

From jt@toerring.de (Jens Thoms Toerring)
Newsgroups comp.lang.c
Subject Re: Create readonly array of data ?
Date 2012-01-02 23:12 +0000
Organization Freie Universitaet Berlin
Message-ID <9merupF53dU1@mid.uni-berlin.de> (permalink)
References <jdt8fi$e1f$1@speranza.aioe.org>

Show all headers | View raw


paolo <pc8875@nospam.mail.com.br> wrote:
> Please excuse my very poor English, I hope you understand my question.

> I want to create a readonly array of data, then a readonly array of a
> structure (STRUCT). This is data I access but I want it protected against
> accidental change. The following is my test code.

> #include "stdafx.h"

> struct LVC
> {
>    unsigned short int lo;
>    unsigned short int hi;

> };

> void main()

That should be

int main( void )

(main() is supposed to retur an int and take either no arguments
or an int and an array of char pointers, but not an unsoecified
number of arguments).

> {
>    //This seems to work
>    static const unsigned short int LV[4] =
>    {0xAC00,cd TE		   

>     0xAC1C,
>     0xAC38,
>     0xAC54 };

What is the 'static' meant to be good for? Also without
it this will create an array that is read-only. 'static'
only is necessary if you want a variable that "survives"
the end of the function and thus still exists (with the
previous value) when you call the function another time.

>    //THIS DOESN'T WORK. COMPILER COMPLAINS
>    static const struct LVC[4] = {

The problem is that this should be something like

     const struct LVC some_name[ 4 ] = {

and then the compiler should accept it. That's because
the type is 'struct LVC' and you're creating a strange
mix out of the type name and the variable name.

>       { 0xAC01, 0xAC1B },
>       { 0xAC1D, 0xAC37 },
>       { 0xAC39, 0xAC53 },
>       { 0xAC55, 0xAC6F },
>    };


> I use Microsoft Visual C++ Express Edition

I hope you use it as a C and not a C++ compiler, otherwise
you'd better ask in comp.lang.c++.

> (I also would like to get rid of that #include "stdafx.h" if
> there is some compiler configuration that will allow me
> to do that.)

There's nothing in the program you psoted that would require
the inclusion of any header files.

                           Regards, Jens
-- 
  \   Jens Thoms Toerring  ___      jt@toerring.de
   \__________________________      http://toerring.de

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Create readonly array of data ? paolo <pc8875@nospam.mail.com.br> - 2012-01-02 21:44 +0000
  Re: Create readonly array of data ? Eric Sosman <esosman@ieee-dot-org.invalid> - 2012-01-02 17:30 -0500
  Re: Create readonly array of data ? ec429 <ec429@cam.ac.uk> - 2012-01-02 22:33 +0000
  Re: Create readonly array of data ? jt@toerring.de (Jens Thoms Toerring) - 2012-01-02 23:12 +0000
    Re: Create readonly array of data ? Thad Smith <ThadSmith@acm.org> - 2012-01-02 19:46 -0700
  Re: Create readonly array of data ? Roberto Waltman <usenet@rwaltman.com> - 2012-01-03 21:12 -0500

csiph-web