This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

'extern' keyword for an array

In file AAA.c

const char CMD_Fire[] = "FIRE";

In file BBB.c

extern const char CMD_Fire[];

It seems that, the compiler is not able to know the size of CMD_Fire[], when compiling BBB.c

So, I have to hard code the size of CMD_Fire[] in BBB.c

Then, if I change the command to "Fire it!", I will need to change the size of CMD_Fire[] everywhere.

Is there any skill to handle this?

Parents
  • No, it won't - not for an array of unspecified size like this!<p>

    I see .. I rarely use sizeof(), so I'm not aware of all of its limitations.

    Another thing, though - the char array is initialized as a string, so it is terminated by a null ('\0') character. Therefore, the string functions (like strlen()) from the standard libary can be used.

Reply
  • No, it won't - not for an array of unspecified size like this!<p>

    I see .. I rarely use sizeof(), so I'm not aware of all of its limitations.

    Another thing, though - the char array is initialized as a string, so it is terminated by a null ('\0') character. Therefore, the string functions (like strlen()) from the standard libary can be used.

Children
No data