社区
C++ 语言
帖子详情
char* str = "abcd"; char* tmp; strcpy(tmp, str); 这样的语句是不是不太好?
william624
2017-12-06 06:52:04
因为在调用strcpy之前没有为tmp开辟空间。
...全文
165
3
打赏
收藏
char* str = "abcd"; char* tmp; strcpy(tmp, str); 这样的语句是不是不太好?
因为在调用strcpy之前没有为tmp开辟空间。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
赵4老师
2017-12-07
打赏
举报
回复
其实电脑开机后物理内存的每个字节中都有值且都是可读写的,从来不会因为所谓的new、delete或malloc、free而被创建、销毁。区别仅在于操作系统内存管理模块在你读写时是否能发现并是否采取相应动作而已。操作系统管理内存的粒度不是字节而是页,一页通常为4KB。
paschen
版主
2017-12-06
打赏
举报
回复
没有初始tmp指针,该指针是一个随机值,指向一个随机的位置,也就是说的野指针,使用可能导致程序崩溃
ooolinux
2017-12-06
打赏
举报
回复
除非故意利用缓冲区溢出搞恶意代码。
大尾巴猫
2017-12-06
打赏
举报
回复
根本就是错的,不是好不好的问题。原因你自己也说了,没给指针开辟空间
字符串赋值给字符指针(
char
*a="hello")的正确理解方式
对于
语句
char
*a="hello"; 对于这个声明方式,会造成的误解是:声明了一个字符指针(它会指向一个位置),将“字符串”赋值给 指针表达式"*a"所指向的地址。但正解是:声明了一个字符指针后,并用字符串常量的第一...
字符串赋值给字符指针(
char
*a=“hello“)的正确理解方式
则将会从字符数组的首地址开始复制,如果字符数组中明确指定了'\0'元素,则会在'\0'处停止,而若没有'\0'元素,则程序可能会不停的复制,直到在程序的内存中碰到'\0',这样可能会得到不希望的结果。//这种方式由系统...
C语言 字符函数、字符串函数和内存操作函数
}
str
str
(判断字符串
str
1是否是
str
2的子串)
char
*
str
str
(const
char
*
str
, const
char
*
str
Char
Set); 若
str
1是
str
2的子串,则
str
str
返回
str
1在
str
2中首次出现的位置;若
str
1不是
str
2的子串,则返回NULL
str
str
的...
XiyouLinuxgroup 2015 2017 2018面试题
2.下面是一个c语言程序从源代码到形成可执行文件的过程,请解释图中的
ABCD
分别表示什么,在每个阶段分别完成了什么工作? 暂时对这些不是非常理解,等我以后学习多了再来认真解释 此题答案详细解释 字节...
C语言面试题大汇总jie
static有什么用途?(请至少说明两种) 1.限制变量的作用域 2.设置变量的存储域 7. 引用与指针有什么区别? 1) 引用必须被初始化,指针不必。...9. 全局变量和局部变量在内存中是否有区别?如果有,是什么...
C++ 语言
64,637
社区成员
250,559
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章