C语言源文件如何引用其他文件的重定义类型
比如
文件一:
typedef struct Node {
ElementType Data;
struct Node *next;
} LinkStack;
文件二:
在文件二如何使用LinkStack这个类型
直接 extern LinkStack; 貌似不行
一个示例如下(项目包含两个文件 Source.cpp,Source1.cpp
1. Source1.cpp源代码如下:
2. Source.cpp源代码如下:
//Source.cpp运行结果如下:
希望对你有帮助~
C语言源文件如何引用其他文件的重定义类型
extern 重定义类型的原型
重定义类型的原型指哪个
extern这样使用
extern struct people;我的理解:结构体原型类似于函数原型吧
函数定义int fun(int a,int b){return a>b?a:b;}
其函数原型为 int fun(int a,int b);
所以我觉得结构体原型是 struct people;
这些概念 希望高手来解答,我也学习学习
此时上述示例的Sourc.cpp可以改为
#include<stdio.h>程序仍然能正常运行
网路上可以查到范例, 希望你能开得起来.
http://bytes.com/topic/c/answers/763674-how-declare-structures-reference-each-other
另外贴上网页范例,
struct B;只要有一个原型宣告就可以了, 如果在不同的源文件, include就相当於写在同一个文件中.
但是这样会导致include顺序性限制, 常用方法会是个别写外部参考的原型宣告, 建议以extern做标示.
---------------------------
我本来不太想直接写.