打印
[学习资料]

指针在全局变量与局部变量之间的差异

[复制链接]
楼主: 21mengnan
手机看帖
扫描二维码
随时随地手机跟帖
21
全局变量是在函数外部定义的变量,它们在整个程序执行期间都是可访问的。全局变量的作用范围是全局的,可以在任何函数内部访问。全局变量的生命周期从程序开始执行时创建,直到程序结束时销毁。

使用特权

评论回复
22
jimmhu| | 2024-6-4 11:43 | 只看该作者
局部变量只能在声明它们的代码块内部被访问。

使用特权

评论回复
23
minzisc| | 2024-6-4 14:45 | 只看该作者
在C语言中,指针是一种变量,它存储了另一个变量的内存地址。指针可以指向全局变量或局部变量,它们之间的主要差异在于作用范围和生命周期。

使用特权

评论回复
24
tpgf| | 2024-6-4 15:26 | 只看该作者
当全局变量和局部变量名字相同的时候,会报错吗

使用特权

评论回复
25
八层楼| | 2024-6-4 16:06 | 只看该作者
全局变量会被局部变量给临时屏蔽掉吗

使用特权

评论回复
26
观海| | 2024-6-4 19:37 | 只看该作者
不仅仅是指针其他类型的变量也是一个道理

使用特权

评论回复
27
晓伍| | 2024-6-4 20:09 | 只看该作者
那是使用全局变量好呢 还是使用局部变量好呢

使用特权

评论回复
28
磨砂| | 2024-6-4 20:41 | 只看该作者
指针的销毁是自发行为 不需要代码限定是吧

使用特权

评论回复
29
earlmax| | 2024-6-5 11:47 | 只看该作者
局部变量通常存储在栈内存中,由编译器自动分配和释放。

使用特权

评论回复
30
macpherson| | 2024-6-5 14:59 | 只看该作者
全局变量不需要手动创建或释放,它们由操作系统管理。
局部变量也不需要手动创建或释放,它们由函数调用和返回的行为自动管理。

使用特权

评论回复
31
loutin| | 2024-6-5 19:57 | 只看该作者
指向全局变量的指针可以在任何函数内部访问,而指向局部变量的指针仅在定义局部变量的函数内部可访问。

使用特权

评论回复
32
ccook11| | 2024-6-6 08:06 | 只看该作者
在使用指向局部变量的指针时,需要特别注意该局部变量的生命周期,以避免悬空指针的问题。

使用特权

评论回复
33
weifeng90| | 2024-6-6 08:10 | 只看该作者
全局变量地址是固定的,而局部变量不是。

使用特权

评论回复
34
天天向善| | 2024-6-7 00:01 | 只看该作者
C 语言中最难理解的地方之一就是指针

使用特权

评论回复
35
adolphcocker| | 2024-6-7 09:35 | 只看该作者
局部变量的指针操作则较为安全,因为它们的影响范围有限,但需要注意指针超出作用域后成为悬空指针的问题。

使用特权

评论回复
36
updownq| | 2024-6-7 12:58 | 只看该作者
全局变量在整个程序运行期间都存在,即使定义它们的函数已经执行完毕。
局部变量的生命周期仅限于定义它们的函数被调用时,函数执行完毕后,这些变量会被销毁。

使用特权

评论回复
37
三七二一| | 2024-6-7 14:53 | 只看该作者
学习学习

使用特权

评论回复
38
elsaflower| | 2024-6-7 16:03 | 只看该作者
全局变量:定义在函数外部,可以在程序的任何其他部分被访问和修改,其作用域是全局的。
局部变量:定义在函数内部,仅在函数内部可以访问和修改,其作用域是局部的。

使用特权

评论回复
39
qiufengsd| | 2024-6-7 19:15 | 只看该作者
全局变量通常存储在静态存储区,这意味着它们在程序开始执行时分配空间,直到程序结束才被释放。
局部变量存储在栈上,每次函数调用时分配,函数返回时释放。因此,指向局部变量的指针在其对应的栈帧被销毁后变得无效。

使用特权

评论回复
40
lzbf| | 2024-6-7 22:26 | 只看该作者
如果有一个指针指向一个全局变量,那么这个指针在程序的任何地方都可以被用来访问或修改这个全局变量的值。

使用特权

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

本版积分规则