搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 运行后有错误 不知道是不是溢出了???
标题:
运行后有错误 不知道是不是溢出了???
只看楼主
feng009
等 级:
新手上路
帖 子:10
专家分:0
注 册:2008-9-11
第
11
楼
得分:0
char *b怎么能用…,
难道是
char c[]=".............";
char *b;
b=c;
的结合?
我做的时候都是char b[],
指针不能没定义就指,会出问题
2008-09-11 17:08
xianshizhe111
等 级:
新手上路
帖 子:1451
专家分:0
注 册:2007-12-8
第
12
楼
得分: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
等 级:
新手上路
帖 子:25
专家分:0
注 册:2004-11-17
第
13
楼
得分:0
书上很清楚的说明了,定义指针的时候赋值是错误的!
能运行不一定是正确的,正确的严谨的使用是非常明智的,否则做大玩意的时候总会漏洞百出!
2008-09-11 22:56
xyzx
等 级:
新手上路
帖 子:9
专家分:0
注 册:2008-9-12
第
14
楼
得分:0
这个程序我刚刚运行也出了点问题,但只需将main()改为void main()就编译成功了。
2008-09-12 02:06
kofsos
等 级:
新手上路
帖 子:28
专家分:0
注 册:2007-5-5
第
15
楼
得分:0
我的理解是!当a,b没有赋予处植时!是指向内存中任意地址的!(可以自己做下测试)!
你这样赋值话!编译没问题!但是运行有很大的安全问题!运行很有可能出错!
[[it] 本帖最后由 kofsos 于 2008-9-12 10:09 编辑 [/it]]
2008-09-12 10:07
15
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-227229-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.293410 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved