搜索
编程论坛
→
开发语言
→
C++论坛
→
『 C++教室 』
→ 为什么没报错 数组越界的时候
标题:
为什么没报错 数组越界的时候
只看楼主
coderlee
等 级:
新手上路
帖 子:33
专家分:0
注 册:2006-4-29
楼主
问题点数:0 回复次数:8
为什么没报错 数组越界的时候
int _tmain(int argc, _TCHAR* argv[])
{
char* str = new char[2];
cin >> str; //input 4 char
cout << str;
return 0;
}
我只给str了2个char的空间 却能输入4个char 为什么呢
搜索更多相关主题的帖子:
越界
2008-01-21 11:05
中学者
等 级:
版主
威 望:
20
帖 子:3554
专家分:80
注 册:2007-9-14
第
2
楼
得分:0
你没异常捕获是不报错滴~~~要不然编程的时候就不用去注意越界了~
樱花大战, 有爱.
2008-01-21 11:13
忘记喧嚣
等 级:
新手上路
帖 子:146
专家分:0
注 册:2007-10-7
第
3
楼
得分:0
char* str = new char[2];
老大这个是动态分配数组....你定义了2个大小只是开始的情况
new会在内存开辟一块内存用与存储你的数组...不相信你加 求你这个数组
现在的大小 得到的肯定是4 或者输出看是多少.
2008-01-21 12:59
linsua
等 级:
新手上路
帖 子:275
专家分:0
注 册:2008-1-2
第
4
楼
得分:0
你们俩的头像是样的,哪里来的?
如果你对我的话感到再明白不过 那恐怕你是误解了我的意思
2008-01-21 13:02
leeco
等 级:
贵宾
威 望:
10
帖 子:1026
专家分:177
注 册:2007-5-10
第
5
楼
得分:0
原帖由 [bold][underline]忘记喧嚣[/underline][/bold] 于 2008-1-21 12:59 发表 [url=http://bbs.bccn.net/redirect.php?goto=findpost&pid=1185052&ptid=198170]
[/url]
char* str = new char[2];
老大这个是动态分配数组....你定义了2个大小只是开始的情况
new会在内存开辟一块内存用与存储你的数组...不相信你加 求你这个数组
现在的大小 得到的肯定是4 或者输出看是多少. ...
误人子弟
2008-01-21 15:23
dhj1985
等 级:
新手上路
帖 子:4
专家分:0
注 册:2007-9-25
第
6
楼
得分:0
程序在编译时只有 程序中的语法和词法出错才会报错
数组越界 只会在代码生成的时候会报错
2008-03-18 09:43
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
7
楼
得分:0
在java里面不捕捉也会送到控制台..c++是要捕捉错误才可以的
学习需要安静。。海盗要重新来过。。
2008-03-18 15:55
小烟
等 级:
新手上路
帖 子:29
专家分:0
注 册:2008-3-18
第
8
楼
得分:0
数组编程设定了个数,哈哈
2008-03-18 18:33
baoyibao
等 级:
新手上路
帖 子:29
专家分:0
注 册:2008-3-13
第
9
楼
得分:0
char *str = new char[2];
只是使char指针str指向一个2字节的内存空间,但是不代表它不能指向另外的内存空间,因为它只是一个char指针,没有别的限制。所以,不论输入多少字符都可以正确地显示。
2008-03-18 22:46
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-198170-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.355875 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved