注册
登录
论坛
搜索
万卷图书
»
C++语言
» c++术语和概念问题求助
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
1
#
fwbook
发表于 2011-9-6 09:02
|
显示全部帖子
1#
b5606018
先说指针越界。指针是一个很好的东西,操作内存很方便。但是每个指针都有活动的范围。例如,一个数组的指针,指针指向的位置,就应该数组所保存的内容。但是,很多时候操作不小心,就让指针指向数组以外的内存了,这个时候就是指针越界了。
堆栈溢出实际比较类似。每个堆栈的大小都是有限的,不可能无限大。当存储的东西超过堆栈允许保存的最大范围,存储的东西就会覆盖堆栈外的东西。这就造成了堆栈溢出。就像一个杯子倒的水太多了,就会溢出一样。
回复
引用
TOP
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
2
#
fwbook
发表于 2011-9-7 10:32
|
显示全部帖子
4#
b5606018
你可以看一下勘误表,这几个错已经勘误了。
勘误表在勘误区那里可以下载。
回复
引用
TOP
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
3
#
fwbook
发表于 2011-9-8 08:35
|
显示全部帖子
6#
b5606018
这里应该是单级指针和二级指针。
回复
引用
TOP
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
4
#
fwbook
发表于 2011-9-9 08:39
|
显示全部帖子
9#
b5606018
这里没有错。
int *p1=&ival;
有另外一种写法:
int* p1=&ival;
两个写法区别就在于*是靠变量近,还是靠int近。这是声明语句,在声明语句中 int*是一个整理用来申明定义了一个整型变量。这里的*是数据类型的一部分,并不是取值运算符。
*p=ival;
这里的*才是取值运算符。
回复
引用
TOP
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
5
#
fwbook
发表于 2011-9-15 09:07
|
显示全部帖子
12#
b5606018
指针实际是直接访问物理地址,这个速度更快。打一个比方,说一下你就理解了。
假设,你去图书馆借一本金庸小说。你问管理员,金庸小说在哪个书架上。他给你回答在小说专架上。你首先需要找小说专家在那里。
但是,管理员告诉你在第三排书架上,你直接走过去,就可以找到。
小说专架就是第三排书架的名称。
从这点,就可以看出哪个更快捷吧。
回复
引用
TOP
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
6
#
fwbook
发表于 2011-9-15 09:11
|
显示全部帖子
13#
b5606018
实际这是数组的赋值的方式。
对于array_1[2][3]赋值,值是按照
array_1[0][0]、array_1[0][1]、array_1[0][2]
array_1[1][0]、array_1[1][1]、array_1[1][2]
的顺序进行填充。
回复
引用
TOP
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
7
#
fwbook
发表于 2011-9-15 09:12
|
显示全部帖子
14#
b5606018
这三个值不是求出来的,而是作者直接给这三个数组元素进行赋值的。
回复
引用
TOP
发短消息
加为好友
fwbook
当前离线
UID
1
帖子
2324
精华
0
积分
0
阅读权限
200
在线时间
1597 小时
注册时间
2009-7-30
最后登录
2025-3-31
管理员
8
#
fwbook
发表于 2011-9-16 09:19
|
显示全部帖子
18#
b5606018
可以。就是从第一个元素开始赋值。
回复
引用
TOP
返回列表
新人报道
论坛版务
零点起飞学Visual Basic
Excel VBA
明明白白学通C语言