extern unsigned char pkt_data[];
这里的pkt_data
尺寸是多少。我怎么知道pkt_data
声明?
答案 0 :(得分:2)
宣言所说的是,有一个名为pkt_data
的数组。那里没有指定大小,除非你是写那行的人,否则它的具体内容应留给实际定义它的代码(即:为它预留空间)。
答案 1 :(得分:1)
是extern
声明。它只是声明,而不是定义。
这意味着pkt_data
将在其他文件或其他一些链接模块中定义。
因此,请参阅pkt_data
的定义以查看其大小。
答案 2 :(得分:0)
你还没有声明大小,extern对应你将定义pkt_data []一些别的地方但只有一次。你无法从外部宣言中获得规模。
答案 3 :(得分:0)
此声明
extern unsigned char pkt_data[];
以及这个
unsigned char pkt_data[];
不完整。
无法确定不完整类型的大小。
我如何知道pkt_data声明?
你知道。
extern unsigned char pkt_data[];
是宣言。
这里缺少的是定义。
回答这个问题:在可用的来源中搜索它。如果您无法访问pkt_data
的定义,则无法确定pkt_data
的大小。
我们所知道的是pkt_data
的地址将具有指针的siez。以下陈述完全有效,顺便说一下:
size_t s = sizeof(&pkt_data);