0. 引言
在C/C++中由于结构体的方便性,如构建相同属性不同名称的变量或作为复杂函数的返回值等等。但会遇到从外部引入结构体的情况,这时候如果导入形式不对会出现无法引入的外部命令错误。
1. 解决方案
我们为什么要建立结构体?当然是为了方便整合属性变量,这时候其实就相当于你自己在基本变量基础上定义了属于自己的变量类型。而你想要外部导入结构体类型时,集成开发环境是不知道这是一种什么类型,因为它的设定中没有。
什么意思呢?试想为什么基本类型可以直接使用Extern命令导入,例如:
extern int iNumber1;
extern double dNumber2;
这是因为开发环境知道int和double是怎样的形式,就会去找已有形式中的相同名称变量。
从这里我们得到启示,应该事先告诉开发环境结构体是怎样的形式,然后在外部引用。
1.1 举个例子
例如在student.h中定义了一个结构体,并实例化了一个对象:
struct student_im {
char name[10];
unsigned long idnumber;
unsigned int age;
}studentA = { "li bai", 202005031, 18 };
然后想在school.h中使用studentA的信息,根据上述思想可以如下形式导入:
struct student_im {
char name[10];
unsigned long idnumber;
unsigned int age;
};
extern struct student_im studentA
即可成功外部引用结构体类型。
2. 总结
上述思想也告诉我们,我们写的代码最终是给集成开发环境看的,要让它知道你要干什么才是最重要的。而且我们知道函数是无法返回数组类型的,但是我们可以通过结构体进行封装达到效果。而Class类的概念也是定义属于自己的类型,所以你可以往深了想创造自己的语言风格。
如果对你有用,请点个赞吧。如果想了解更多小技巧,请关注我。

本文阐述了在C/C++中如何正确地从外部文件导入结构体类型,避免出现未知类型错误。通过实例说明了如何定义并实例化结构体,以及如何在另一文件中通过extern关键字引用该结构体实例。
5099

被折叠的 条评论
为什么被折叠?



