社区
Linux/Unix社区
帖子详情
大家一起来讨论下全局变量的使用吧
tcj110711224
2012-03-06 11:44:56
我在linux c代码编程遇到下面这样的问题:
int aa=1;
char b[4];
main(){
char a[4]="1234";
memset(b,'\0',sizeof(b));
strcpy(b,a);
printf("aa is %d\n",aa);
}
此时问题来了 我没有对aa做操作,这是打印的aa变成了0;如果我把b[4]编程b[8]或者下表比4大,此时aa的值就不会改变,我很纠结,麻烦路过的顶下;
...全文
80
6
打赏
收藏
大家一起来讨论下全局变量的使用吧
我在linux c代码编程遇到下面这样的问题: int aa=1; char b[4]; main(){ char a[4]="1234"; memset(b,'\0',sizeof(b)); strcpy(b,a); printf("aa is %d\n",aa); } 此时问题来了 我没有对aa做操作,这是打印的aa变成了0;如果我把b[4]编程b[8]或者下表比4大,此时aa的值就不会改变,我很纠结,麻烦路过的顶下;
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
tcj110711224
2012-03-06
打赏
举报
回复
[Quote=引用 2 楼 kid_coder 的回复:]
如果我把b[4]编程b[8]或者下表比4大,此时aa的值就不会改变,我很纠结,麻烦路过的顶下;
strcpy(b,a);这个有问题~a字符串是5个字符 b数组只是一个4个字符的数组,拷贝会出问题
[/Quote]
是有问题哦 谢谢了
KID_coder
2012-03-06
打赏
举报
回复
char a[4]="1234"; 这个赋值也有问题~没有吧'\0'考虑
KID_coder
2012-03-06
打赏
举报
回复
如果我把b[4]编程b[8]或者下表比4大,此时aa的值就不会改变,我很纠结,麻烦路过的顶下;
strcpy(b,a);这个有问题~a字符串是5个字符 b数组只是一个4个字符的数组,拷贝会出问题
tcj110711224
2012-03-06
打赏
举报
回复
补充下:我设置了很多全局变量
fzc_crystal
2012-03-06
打赏
举报
回复
不晓得linux下面会是怎样
在windows下面已初始化和未初始化的全局变量 所存放的地址空间是不连续滴:
已初始化滴变量会存放在一段连续的静态存储区;
而未初始化滴变量会放在另外一段开辟的连续静态存储区。
int aa=1;
char b[4];
aa,b两个变量存放的地址空间是不连续滴,所以也不可能出现因为内存越界,而覆盖了相邻的地址空间
而且楼主代码中char a[4]="1234";这应该是写错了,c字符串是已‘\0’结尾滴,这样编译时会报错
在windows下面这段代码的运行结果aa还是1,或许在linux下面会有所不同
justkk
2012-03-06
打赏
举报
回复
内存越界了,覆盖了相邻的地址空间
一个静态
全局变量
初始化引发的
讨论
本文记录了一次关于静态
全局变量
初始化的
讨论
。在提交的补丁中,作者原本将一个静态
全局变量
初始化为false,但检查工具提示不应初始化为false。经过研究和
讨论
,了解到静态
全局变量
默认会初始化为0,因此去除初始值是合理的做法,可以避免冗余。
c语言中如何避免过多
使用
全局变量
本文介绍如何
使用
指针传递参数来替代
全局变量
,并探讨了利用静态局部变量与静态
全局变量
结合函数实现类似
全局变量
效果的方法。
C++中
全局变量
的
使用
本文详细介绍了C++中
全局变量
的声明、定义及
使用
方法,包括如何在头文件中声明和在源文件中定义,以及如何在主函数中正确引用
全局变量
。
Matlab
全局变量
定义与
使用
该博客介绍了MATLAB中如何
使用
`global`关键字声明和共享
全局变量
。
全局变量
允许不同函数之间或函数与命令行之间共享数据。当在一个函数中声明
全局变量
后,所有其他声明了该
全局变量
的函数都能访问并修改其值。博客通过示例展示了如何在函数内部设置和获取
全局变量
的值,并
讨论
了清除
全局变量
的方法。
Python: 在函数中
使用
全局变量
本文介绍了Python中
全局变量
的概念,展示了如何在函数内部读取和修改
全局变量
。通过示例解释了直接修改
全局变量
会引发UnboundLocalError,并提供了解决方案。同时,
讨论
了函数内部创建同名局部变量对
全局变量
的影响,强调了局部作用域的特点。
Linux/Unix社区
23,223
社区成员
74,536
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章