C编程如何在另一个头文件中打印出结构的元素?

约翰尼78

所以我在另一个头文件中有一个结构

struct MyStackStruct{
    void **stk;
    void *el;
    int sizeStk;
    int top;
    int choice;
};

typedef struct MyStackStruct MyStack;

我称它为main。

如果我s->top = -1;在另一个file.c上执行类似的操作,也可以通过以下方式将其打印出来就可以了printf("%d", s->top)

但是我找不到关于如何在main中打印相同内容的解决方案。我没有尝试过。帮助!

编辑1:使其清楚。在struct.h我有

struct MyStackStruct{
    void **stk;
    void *el;
    int sizeStk;
    int top;
    int choice;
};

typedef struct MyStackStruct MyStack;

然后在main.c中MyStack* s;,将其定义为然后使用函数将其发送到另一个文件

MyStack *sP = &s;

然后像 push(sP);

如果在推或任何其他功能,我做类似的事情s->top = -1;printf("%d", s->top)它打印出-1。如果我在main.c中执行相同的printf,则会打印出随机数。

泛光灯

您可以将struct定义放在头文件中struct.h,并将其包含在main.c#include "struct.h"这样,编译器将在编译时获得该结构的详细信息main.c

MyStack* s;定义s为的指针MyStack&s如果类型为的指针MyStack,也就是MyStack**在这种情况下,您只需使用即可s,例如push(s)

另外,您需要在使用指针之前对其进行初始化,可以使用malloc

s = malloc(sizeof(*s));

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

携带另一个元素并打印出来

C ++在另一个类头文件中声明一个类

Makefile | 对头文件中包含的另一个头文件的依赖

如何在另一个源文件中访问“结构”的静态成员

如何在C ++中将多个头文件导出为单个头文件?

从另一个文件中匹配一个文件后的Bash-shell,一次打印出匹配的内容和不匹配的内容

如何从另一个文件访问c代码中嵌套结构的指针成员

如何在另一个类头文件中定义类构造函数?

如何在另一个头文件中包含c头文件?

如何在MongoDB中打印数组元素的数量以及另一个变量

结构在内部如何在C中工作?如何将数据从一个结构复制到另一个结构?

C头文件包含在另一个头文件中,并且都包含在ac文件中

在另一个头文件中包括头文件中的typedef枚举

为什么在另一个头文件中声明结构会导致LNK2001错误?

在C ++中使用另一个头文件中的抽象类

如何让一个头文件中的声明访问三个单独的视图控制器?

来自第二个头文件中的一个头文件的Typedef用法

我如何在另一个C ++文件的单独终端中运行C ++文件?

读取文件并打印出ip地址到另一个文件

如何在C#中PInvoke另一个结构内的结构数组

C++ - 在另一个头文件中包含一个头文件以使全局变量可用于数组声明

C++ 在两个头文件中包含一个类

如何在C中的另一个数组上打印一个数组?

如何从另一个头文件触发插槽

在 VS 2017 中为“便携式”项目包含一个头文件(C++)

如何将一个单独的 Swift 包中的 C 头文件包含到另一个 Swift 包的 C 部分中

在 C 或 C++ 中,如何防止头文件中先前的 #define 影响以后包含的另一个头文件?

如何在 C 编程中将两个头文件和 3 个 c 文件链接到一个可执行文件中?

如何在 C 中包含另一个头文件中定义的结构数组?