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
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.
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,
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?
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.
Salem's Avatar, Join Date: Nov 2007
Ambitious contributor
So create a function called 'initGlobalVariables' which is called right at the start of main.