admin 管理员组

文章数量: 1086019


2024年1月23日发(作者:openssl的功能)

c语言结构体定义和使用 extern

在C语言中,结构体(struct)是一种用户自定义的数据类型,它可以包含多个不同类型的数据项。extern关键字则用于声明一个变量或函数在别的文件中定义。以下是一个结构体定义和使用extern的示例:

假设我们有两个C文件:main.c和data.c。

data.c

// 定义一个结构体

typedef struct {

int id;

char name[50];

} Person;

// 在此文件中声明一个全局变量

extern Person p;

main.c

#include

// 声明一个Person结构体类型的全局变量

extern Person p;

int main() {

// 在main函数中访问p

printf("Person ID: %dn", );

printf("Person Name: %sn", );

return 0;

}

在这个例子中,我们首先在data.c文件中定义了一个名为Person的结构体,并声明了一个全局的Person类型的变量p。然后,在main.c文件中,我们声明了与data.c中相同的全局变量p,并使用它来访问结构体的数据。这样,即使变量p是在另一个文件中定义的,我们仍然可以在main.c中访问它。这就是使用extern的关键点。

注意:在这个例子中,我们必须保证data.c被编译和链接到最后的程序中,因为全局变量p是在那里定义的。如果只编译和链接main.c,那么在试图访问p时将会出现未定义的行为。


本文标签: 结构 声明 使用 定义 类型