Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C中定义标头中alias类型的外部变量_C_Header Files_Typedef - Fatal编程技术网

在C中定义标头中alias类型的外部变量

在C中定义标头中alias类型的外部变量,c,header-files,typedef,C,Header Files,Typedef,我有一个C文件,其中包含以下两个声明 struct mmap\u table\u entry\t{ uint32_t尺寸; uint64基本地址; uint64_t长度; uint8_t型; }*mmap_表_条目; typedef struct mmap_table_entry_t*table_entries; 我想在头文件中创建typetable\u条目extern。在不声明上述全部两种类型的情况下,我如何做到这一点 我想在头文件中使变量表_条目外部化 如果要在不定义结构的情况下声明外部变

我有一个C文件,其中包含以下两个声明

struct mmap\u table\u entry\t{
uint32_t尺寸;
uint64基本地址;
uint64_t长度;
uint8_t型;
}*mmap_表_条目;
typedef struct mmap_table_entry_t*table_entries;
我想在头文件中创建type
table\u条目
extern。在不声明上述全部两种类型的情况下,我如何做到这一点

我想在头文件中使变量表_条目外部化

如果要在不定义结构的情况下声明外部变量,请执行以下操作:

extern struct mmap_table_entry_t * table_entries;
如果要定义指向结构的类型指针,请使用表单
typedef struct mmap_table_entry\u t*table_entries是有效的

类型不能是外部类型。typedef定义了一个类型,它不能“强制”一个类型为extern的变量。变量的类型及其存储是两种不同的东西,它们之间没有联系

我想在头文件中使变量表_条目外部化

如果要在不定义结构的情况下声明外部变量,请执行以下操作:

extern struct mmap_table_entry_t * table_entries;
如果要定义指向结构的类型指针,请使用表单
typedef struct mmap_table_entry\u t*table_entries是有效的


类型不能是外部类型。typedef定义了一个类型,它不能“强制”一个类型为extern的变量。变量的类型及其存储是两种不同的东西,它们之间没有联系。

BWT将指针隐藏在指针后面不是一个好主意

typedef struct mmap_table_entry_t* table_entries;
表_项不是仅变量类型名称。它不可能是外部的

extern table_entries table_entries_var;

BWT在指针后面隐藏指针不是一个好主意

typedef struct mmap_table_entry_t* table_entries;
表_项不是仅变量类型名称。它不可能是外部的

extern table_entries table_entries_var;
我想创建变量表_条目。但这不是一个变量。这是一个
typedef
。我想创建变量表\u条目。但这不是一个变量。这是一个
typedef