| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1700 人关注过本帖
标题:运行后有错误 不知道是不是溢出了???
只看楼主 加入收藏
feng009
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-9-11
收藏
得分:0 
char *b怎么能用…,
难道是
char c[]=".............";
char *b;
b=c;
的结合?
我做的时候都是char b[],
指针不能没定义就指,会出问题
2008-09-11 17:08
xianshizhe111
Rank: 1
等 级:新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
收藏
得分:0 
原因这是现在的编译器标准问题
一般老式编译器能通过编译
防止用数组的方法修该指针
如:
char *b="you are a student.";
b[0]='*';
结果为
*ou are a student.
如果防止修改
const char *b="you are a student.";
2008-09-11 17:51
dianziwg
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2004-11-17
收藏
得分:0 
书上很清楚的说明了,定义指针的时候赋值是错误的!
能运行不一定是正确的,正确的严谨的使用是非常明智的,否则做大玩意的时候总会漏洞百出!
2008-09-11 22:56
xyzx
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-9-12
收藏
得分:0 
这个程序我刚刚运行也出了点问题,但只需将main()改为void main()就编译成功了。
2008-09-12 02:06
kofsos
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2007-5-5
收藏
得分:0 
我的理解是!当a,b没有赋予处植时!是指向内存中任意地址的!(可以自己做下测试)!
你这样赋值话!编译没问题!但是运行有很大的安全问题!运行很有可能出错!

[[it] 本帖最后由 kofsos 于 2008-9-12 10:09 编辑 [/it]]
2008-09-12 10:07
快速回复:运行后有错误 不知道是不是溢出了???
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040694 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved