我有.h文件:
typedef struct MyName {
uint8_t AA;
uint8_t BB;
};
extern const MyName NewName[num];
在文件.c中我有:
const MyName NewName[num] = {{0x01,0x02}, {0x03,0x04}};
编译器抱怨'未知类型名称'我的名字。我怎么能绕过这个?谢谢你的帮助。
答案 0 :(得分:5)
typedef
应为
typedef struct myName
{
uint8_t AA;
uint8_t BB;
}
MyName;
如果没有最终MyName
,您实际上并没有typedef'd
任何事情。
答案 1 :(得分:2)
写这个的正确方法是:
<。>文件中的
struct MyName
{
uint8_t AA;
uint8_t BB;
};
extern const struct MyName NewName[];
extern const int num;
<。>在.c文件中应该是:
const struct MyName NewName[] = {{0x01,0x02}, {0x03,0x04}};
const int num = sizeof( NewName ) / sizeof(struct MyName);