自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 strcpy sprintf memcpy 区别详解

何时用strcpy?仅用于已知安全长度的字符串拷贝。永远不要对用户输入或未知长度的字符串直接使用strcpy。应使用并手动设置,或使用其他安全函数。何时用sprintf?当需要将数字、其他变量与文本组合成一个字符串时(如生成日志信息、路径、SQL语句等)。始终优先使用snprintf来指定缓冲区大小,例如。何时用memcpy?当需要复制非字符串数据时,如数组、结构体、网络数据包等。当需要高性能的内存复制,且源和目标内存不重叠时。即使是拷贝字符串,如果已知确切长度且追求极致性能,也可以使用。

2026-07-23 14:00:33 310

原创 数组名与指针的本质区别

场景建议需要知道数据集合大小使用数组(或结构体包含数组),以便利用sizeof在定义域内获取完整大小。需要动态内存分配或重指向使用指针,配合mallocfree。函数参数传递“数组”实际上总是传递指针。同时传递数组长度作为另一个参数。可以使用int arr[]或int *arr声明形参,前者更具可读性。需要遍历元素两者皆可。for(i=0;i<len;或for(p=arr;p<arr+len;p++)。前者通常更清晰。定义字符串常量若不需修改,使用。若需修改,使用。根本区别记忆口诀:数组名是地址常量。

2026-07-23 10:02:02 290

原创 typedef与define的本质区别

这是最能体现两者区别的场景之一。// 展开: char * pDef1, pDef2;只有pDef1是指针!// pTyp1和pTyp2都是char*类型。// 验证// 正确// 错误!pDef2是char类型,不能赋指针值。#define传统上用于定义常量,但现代C/C++更推荐使用const变量或constexpr(C++),因为它们有类型和作用域。// 更好,有类型和作用域,且可能被编译器优化。// #define 定义的常量可用于数组大小等编译时常量场合(C语言)

2026-07-22 17:24:10 551

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除