Declare & Assign an array out side of function!

boomeral's Avatar, Join Date: Feb 2008
Newbie Member
Hello Friends,

This seems to be trivial but bugging me a lot. I am trying to create a header file with following statements:

Char BinaryCMD[8] = {0x00, 0x01, 0x02, 0x03, 0x04, 0x06};
int temp calcCRC16(6, BinaryCMD);
array[6] = temp >> 8;
array[7] = temp;

calcCRC16 calculates 16-bit CRC and takes number of bytes and a pointer to the array as its arguments.
First two lines are ok in the code; however, 3rd and 4th lines cause compiler to fail. If I place this entire code in a function – say main() – it works ok. But anywhere outside a function, it fails. How can I solve this problem?


Thanks
0
Salem's Avatar, Join Date: Nov 2007
Ambitious contributor
Put it inside main.

C has no concept of having executable code outside of functions. C++ can do it, but that's only for constructing global objects.
0
boomeral's Avatar, Join Date: Feb 2008
Newbie Member
Quote:
Originally Posted by Salem
Put it inside main.

C has no concept of having executable code outside of functions. C++ can do it, but that's only for constructing global objects.
Interesting enough it is a global object. Can you give me an example of c++ global object the way I am trying to do it?

Thanks,
0
Salem's Avatar, Join Date: Nov 2007
Ambitious contributor
Why is doing it once at the start of main such a big issue to you?
0
boomeral's Avatar, Join Date: Feb 2008
Newbie Member
Quote:
Originally Posted by Salem
Why is doing it once at the start of main such a big issue to you?
If it were not an issue, I would not have asked this question from the get to. There are about 1000 of these commands have to be declared - more or less. It would be nice to have all of them in once place. If modification or alteration is needed, main would not look as crowded.
0
Salem's Avatar, Join Date: Nov 2007
Ambitious contributor
So create a function called 'initGlobalVariables' which is called right at the start of main.