我是C编程的初学者,但我想知道typedef在定义结构时使用与使用结构之间有什么区别typedef.在我看来,实际上没有区别,他们实现了同样的目标.
struct myStruct{
int one;
int two;
};
Run Code Online (Sandbox Code Playgroud)
与
typedef struct{
int one;
int two;
}myStruct;
Run Code Online (Sandbox Code Playgroud) 我需要将静态数组放入.cpp文件中.此数组仅用于此.cpp,因此我想将其声明为静态.数组定义非常大,所以我自然要转发声明它.
static int bigIntArray[5000];
/* other code using bitIntArray */
static int bigIntArray[5000] = {
0x00, 0x9900, 0xffee,
...
};
Run Code Online (Sandbox Code Playgroud)
VC 9.0给出错误:错误C2086:'int bigIntArray [5000]':重新定义
如果我将'static'改为'extern',问题就会消失,但我不喜欢这个解决方案.
为什么我不能转发声明一个静态变量?这是C++标准所要求的吗?