结构在C中定义?

时间:2018-03-17 06:36:22

标签: c struct libusb

有时我们遇到“struct xxxx;”在C文件中,以libusb.h为例,这是libusb.so的头文件,如下所示(struct libusb_device):

  

struct libusb_context;
     struct libusb_device;
     struct libusb_device_handle;

这是什么意思?这只是宣言吗?但我找不到struct libusb_device的定义。

整个libusb.h文件位于:libusb.h

1 个答案:

答案 0 :(得分:1)

这是一个声明(在C ++中)或一个不完整的类型声明(在C中):

struct libusb_context;

这是一个定义(在C ++中)或[完整类型]声明(在C中):

struct libusb_context { int my_device_id; };

了解这些术语,您可以找到许多差异的解释。例如,请查看此处:What is the difference between a definition and a declaration?