结构体写在头文件中怎么写,在其它函数文件中怎么引用

比如 我定义了一个头文件,里面是结构体
文件1.h
#include <stido.h> /*这句要写吗?*/
typedet struct student
{
int a;
int b;
struct student *next;
}STU;
然后在另外一个程序中怎么使用这个文件
比如
function.c
#include <stdio.h>
#include "文件1.h"
STU *head,*p1;/*像这样使用好像不正确*/
.......... /*但是如何使用呢*/
但是STU 是struct student 的别名啊 看到typedef了吗 上面那个应该是 'f' 不是 't'
最下面的那个“冰冰” 那样好像不能引用啊 我在用的时候 出现了很多问题的

1、首先新建一个结构体作为参数项目,添加一个struct.c文件,如图所示。

2、包含stdio.h和stdlib.h头文件,如图所示。

3、输入main函数主体及返回值,如图所示。

4、定义一个结构体AAA,如图所示。

5、定义一个add函数,定义结构体,赋值,并且将结构体作为参数传递给add函数,如图所示。

6、最后运行程序,输出计算结果,如图所示就完成了。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-04-17
既然函数在头文件中作了声明,一般是指全局函数,即其作用域是整个程序空间。若要在另一个头文件中引用该函数,可以通过以下两种方法实现:
(1)使用#include "函数声明所在的头文件名.h"
(2)使用关键字extern 函数声明; 指明这是引用的外部函数。
例如 :函数void windows_display(windows_t window);声明在头文件wins.h中,若要在output.h中引用,则可以:
(1)#include "wins.h"
(2)在output.h中添加该语句extern void windows_display(windows_t window);
第2个回答  推荐于2018-02-28
你这样用是没有问题的
只不过你把typedef给打错了

首"文件1.h中
#include<stdio,h>可写可不写 如果在头文件中没写那么在 .c 文件中必须要写
文件1.h
#include<stdio.h>
typedef struct student
{
int a;
int b;
struct student *next;
}STU;

function.c

#include"1.h"
STU *head,*p1;
void main()
{
........
}
这样就没有问题了本回答被提问者和网友采纳
第3个回答  2011-01-25
1.#include <stido.h> /*这句要写吗?*/
不要写,在.cpp里写了就行了;结构体定义应该是放在类外定义。
2.然后在另外一个程序中怎么使用这个文件
在.CPP文件中要用到的地方进行声明:
STU stu;
stu.a = ...;
stu.b = ...;
第4个回答  2011-01-25
student *head,*p1
你应该用结构名来定义对象。
STU只是student结构的一个对象,不能用来定义

结构体写在头文件中怎么写,在其它函数文件中怎么引用
(1)使用#include "函数声明所在的头文件名.h"(2)使用关键字extern 函数声明; 指明这是引用的外部函数。例如:函数void windows_display(windows_t window);声明在头文件wins.h中,若要在output.h中引用,则可以:(1)#include "wins.h"(2)在output.h中添加该语句extern void windows_display(windows_t window);...

结构体写在头文件中怎么写,在其它函数文件中怎么引用
1、首先新建一个结构体作为参数项目,添加一个struct.c文件,如图所示。2、包含stdio.h和stdlib.h头文件,如图所示。3、输入main函数主体及返回值,如图所示。4、定义一个结构体AAA,如图所示。5、定义一个add函数,定义结构体,赋值,并且将结构体作为参数传递给add函数,如图所示。6、最后运行程序,输...

C语言在一个函数里面定义了一个结构体,怎么在另外一个函数里面使用?
在另外一个函数里面使用的源代码如下:include"stdio.h"include "conio.h" \/\/---添加这个头文件,因为getch()函数来自它,否则编译会有警告 struct student \/*定义结构体*\/ { void main(){ void data_in(struct student putin[]);void data_out(struct student *p);void data_pout(struct s...

C语言中如何在多个文件中引用同一个结构体
1 引用类型。需要将结构体定义与头文件中(.h文件),然后在需要引用类型的源文件(.c)中,均引用该头文件,即可使用该类型。2 引用全局变量。要引用全局变量,需要先引用类型,之后在一个源文件中定义全局变量,在其它源文件中声明该全局变量,即可使用。比如结构体为struct test, 定义全局变量为 struct...

...个文件中的函数想用另一个文件中定义的结构体怎么办,用extern好像解 ...
结构体在头文件中定义,然后要使用该结构体的源文件直接导入该头文件即可。例:结构体Node \/\/Node.h文件#ifndef NODE_H#define NODE_Hstruct Node{ int data; Node* next;};#endif\/\/main.cpp文件#include "Node.h"int main(){ struct Node n; n.data = 0; n.next = NULL...

...时候是不是要另建文件存放?结构体在函数中是怎么调用的?
对应于该头文件的函数实现存放在C或C++代码文件中。而对于不需对外公开的结构和函数声明可以和直接调用这些结构或函数的函数放在一起,这种情况下函数的声明最好加static关键字修饰,表明函数的可见范围仅限与定义该函数的代码文件 如下所示 include <stdio.h> typedef struct _mystruct { type var1;typ...

关于结构体,我再一个文件里定义了结构体类型,也定义了几个结构体变量...
你在同一个工程的源文件中定义的结构体类型和变量,在另一个源文件中才可以使用extern引用,若是在头文件中定义的,使用extern没有用,需要#include“该头文件名”

结构体 c++ 如何定义结构体 在1.cpp 中, 结构体变量值放在2.cpp, 在...
首先你定义结构体,放在1.h头文件里面 然后你在2.cpp文件里面定义变量(记得包含1.h头文件)然后你3.cpp也要包含1.h头文件,其他照样写,可以用2.cpp的变量,但是结束后编译的时候需要联合编译2.cpp,这样才可以用2.cpp里面的变量 ---注意,是联合编译2.cpp,编译器都有这个功能的 ...

C++创建一个结构体应该放在.cpp文件中吗?然后调用的时候只要包含这个.c...
应该建一个头文件(如head.h), 然后把结构体还有函数的声明放在这个头文件里,然后在建一个.cpp文件(如head.cpp),文件开头包含这个头文件(#include "head.h"),函数的实现全放在这个文件里。完了之后其他程序只要包含这个头文件(#include "head.h"),就可以使用这个结构体和这些函数了。

如何在其他文件中调用结构体变量
写个头文件 c.h 声明 一个结构体类型 struct STU { int x;int y;};定义结构体变量s的文件b.c include "c.h"struct STU s; \/* 不加extern ,默认认为extern *\/ a.c 调用b.c里定义的全局变量s include <stdio.h> include "c.h" \/* struct STU这个类型的定义(或者说声明)在这个...

相似回答