打印
[STM32F1]

在F1使用全局变量声明一个结构体一般都怎么声明较好

[复制链接]
楼主: yangjiaxu
手机看帖
扫描二维码
随时随地手机跟帖
21
adolphcocker| | 2024-9-15 10:42 | 只看该作者 回帖奖励 |倒序浏览
为了节省内存,特别是当结构体包含数组时,可以考虑使用静态初始化来直接赋予特定的值,这样数组在声明时就会被初始化,之后只有显式赋值才会改变其内容。

使用特权

评论回复
22
sheflynn| | 2024-9-15 14:43 | 只看该作者
在源文件(.c)中声明全局变量,并使用extern关键字在其他源文件中引用该变量。

使用特权

评论回复
23
sesefadou| | 2024-9-15 16:44 | 只看该作者
如果结构体会频繁使用,可以使用typedef为其定义一个新的类型名,这样可以简化后续的变量声明和操作。

使用特权

评论回复
24
claretttt| | 2024-9-15 18:25 | 只看该作者
如果结构体仅在某个特定的作用域内使用,可以考虑将其声明为静态局部变量

使用特权

评论回复
25
t60yz| | 2024-9-15 18:49 | 只看该作者
结构体里有个数组

使用特权

评论回复
26
elsaflower| | 2024-9-15 21:34 | 只看该作者
如果结构体中的数据不应该被修改,可以使用const关键字来定义只读的结构体。

使用特权

评论回复
27
l63t89| | 2024-9-15 21:50 | 只看该作者
让数组只有赋值时会改变内部数据

使用特权

评论回复
28
lihuami| | 2024-9-16 09:52 | 只看该作者
更好的做法是使用extern关键字在头文件中声明,并在一个.c文件中定义它。

使用特权

评论回复
29
l63t89| | 2024-9-16 11:16 | 只看该作者
结构体里有个数组

使用特权

评论回复
30
albertaabbot| | 2024-9-16 12:57 | 只看该作者
在同一.c文件中,定义结构体类型的全局实例。

使用特权

评论回复
31
cemaj| | 2024-9-16 20:35 | 只看该作者
如果结构体需要在多个文件或模块之间共享,可以将其声明为extern,这样它就成为了一个全局变量。

使用特权

评论回复
32
uytyu| | 2024-9-18 11:22 | 只看该作者
为结构体及其成员提供清晰的文档和注释,说明它们的用途和行为。

使用特权

评论回复
33
burgessmaggie| | 2024-9-18 16:23 | 只看该作者
如果全局变量的声明依赖于其他文件中的定义或声明,需要注意编译顺序。

使用特权

评论回复
34
Stahan| | 2024-9-18 19:47 | 只看该作者
先初始化一遍吗

使用特权

评论回复
35
modesty3jonah| | 2024-9-18 20:39 | 只看该作者
尽量将全局变量的作用域限制在最小范围内。

使用特权

评论回复
36
zerorobert| | 2024-9-19 08:29 | 只看该作者
可以在头文件(.h)中声明结构体的类型。这样做可以使得结构体在多个源文件中可见,便于维护和重用。

使用特权

评论回复
37
maqianqu| | 2024-9-19 13:33 | 只看该作者
全局变量应该被声明为static以限制其作用域仅限于声明它的文件。

使用特权

评论回复
38
claretttt| | 2024-9-21 11:03 | 只看该作者
可以在多个源文件中访问这个全局变量,同时保持代码的组织性和可维护性。

使用特权

评论回复
39
uiint| | 2024-9-22 11:26 | 只看该作者
为了在其他文件中使用这个全局结构体变量,你需要创建一个头文件(例如myfile.h),并在其中声明该变量。使用extern关键字来声明变量,表示它在其他地方定义。

使用特权

评论回复
40
ingramward| | 2024-9-22 15:40 | 只看该作者
通常的做法是在一个.h头文件中声明结构体类型,并在对应的.c源文件中定义全局变量。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则