| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5718 人关注过本帖
标题:通过指针获取输入的字符串
只看楼主 加入收藏
FQYB
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:43
专家分:130
注 册:2016-7-29
收藏
得分:0 
以下是引用ODmini在2016-8-6 00:37:24的发言:

恩恩,我也想了想,可能之前是因为【运气】的问题,指针没有指向“特殊的地方”;

不用数组,也可以这样写:



这样虽然运行的没问题,但是我认为有问题,因为a是字符变量,能存字符串吗?或者说自动为a开辟了空间(当给a一个字符串时)?


这样的话,把a当字符数组来用,就覆盖了a后面的内存空间,运气好没有覆盖到关键的内存空间就没事
2016-08-06 00:40
ODmini
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-27
收藏
得分:0 
回复 10楼 FQYB
如果需要事先申请空间的话,你并不知道用户的输入需要占用多大的空间,没有“普遍性”;那么你的代码只能运行在特定场合下!

如果你用数组,或事先申请足够的空间,而用户的输入根本不需要这么大的空间,那么不是造成浪费了吗?

我想的就是这个问题。
2016-08-06 00:41
ODmini
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-27
收藏
得分:0 
回复 11楼 FQYB
虽然提到了【运气】这个词,但是我们写代码总不能靠运气吧?

难道没有解决的办法?

或者直接给出规定说【指针不能用于获取字符串】!

我是小白,我不懂,见谅!
2016-08-06 00:44
FQYB
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:43
专家分:130
注 册:2016-7-29
收藏
得分:0 
你也可以去看一下关于 c++的string类的原理 那个内存空间随着数据的增加自动扩大,不用担心超界的问题
2016-08-06 00:48
ODmini
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-27
收藏
得分:0 
回复 14楼 FQYB
嗯,谢了
2016-08-06 00:50
FQYB
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:43
专家分:130
注 册:2016-7-29
收藏
得分:0 
要实现其实不难     像链表    用malloc动态申请内存或realloc扩大内存都可实现内存空间动态扩大
2016-08-06 00:52
ODmini
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2014-8-27
收藏
得分:0 
回复 16楼 FQYB
我觉得这是一个简单的问题,只想简单地解决;

我自己认为是一个简单的问题,也许是自己学的不够深,不明白其中的【套路】。
2016-08-06 00:53
FQYB
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:43
专家分:130
注 册:2016-7-29
收藏
得分:0 
其实这也不算太小白

缓冲区溢出攻击不就这么来的,没有程序是完美的,只需要尽量做到最好就行了,好好学吧
2016-08-06 01:02
快速回复:通过指针获取输入的字符串
数据加载中...
 
   



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

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