自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 杂碎的知识点

无类型检查:容易因类型不匹配引发错误。调试困难:调试器无法显示宏的符号名称。命名污染:宏定义的作用域无法限制。枚举更适合定义一组相关的常量,尤其是需要类型安全和作用域控制的场景。宏定义更适合用于条件编译或需要灵活文本替换的情况。*(char*)&a通过指针类型转换和解引用,实现了对变量a内存的直接访问,通常用于低级别编程或特殊场景下的数据处理。

2025-09-04 20:07:55 361

原创 指针的关键易错点

野指针是指指向无效内存地址的指针,可能导致程序崩溃或未定义行为。

2025-09-04 19:56:30 1579

原创 数据结构在内存中的储存和结构体问题

类型转换:强制指针类型转换仅改变解释内存的方式,不改变内存数据本身。内存表示差异int和float的二进制编码规则不同(整型为补码,浮点为IEEE 754),导致相同内存的不同解释结果。未定义行为:通过float*写入后直接读取int的值属于未定义行为(违反严格别名规则),实际结果依赖编译器实现。结构体自引用问题int data;在C语言中,结构体自引用需要使用指针类型而非直接嵌套结构体本身。

2025-09-04 12:37:52 751

原创 c语言中自己的一些易错点

char类型通常默认为有符号(取决于编译器),因此a存储的是有符号值-1,其二进制表示为11111111(补码形式)。明确声明为有符号字符,行为与char a相同,存储-1(二进制11111111无符号字符类型赋值-1时,会发生隐式转换。-1的二进制补码11111111被直接解释为无符号值255。

2025-09-03 21:36:31 539

原创 一些之前疑惑的问题点

strlen函数的返回值类型是size_t,这是一个无符号整型。size_t在 C 标准库中用于表示对象的大小或数组的索引,通常定义为或,具体取决于平台和编译器。

2025-08-27 22:33:35 1796

原创 指针运算的易错题

指针易错题

2025-08-27 22:01:35 685

原创 strlen和sizeof的易混淆点

→ 6→ 8→ 1→ 1→ 8→ 8→ 8注意:指针大小可能因系统位数而异(32位系统为4字节)。74114447811888所有strlen调用都会导致未定义行为,因为arr未以\0结尾。和会直接传递字符值作为地址,导致段错误。其他调用会越界访问内存,结果不可预测。(未定义行为但可能输出6)。。。。655。strlen(*p)strlen(&p)会崩溃或输出无意义值。实际运行时会因未定义行为表现出不可预测的结果。

2025-08-27 20:08:52 711

原创 反转字符串

该算法的时间复杂度为O(n),其中n是字符串的长度。因为每个字符只被访问一次完成交换。空间复杂度为O(1),只使用了常数个额外变量。该函数用于反转传入的字符串。通过交换字符串前半部分和后半部分的字符来实现反转。

2025-08-23 22:46:22 290

原创 字符串左旋

int i = 0;for (i = 0;i <k;for (j = 0;j < len-1;printf("请输入字符串:\n");printf("请输入左旋位数:\n");// 计算长度printf("左旋后结果:%s\n", arr);return 0;

2025-08-23 18:16:28 1616

原创 指针的一些易错点和思考

类型不同:指针数组的元素是独立指针,数组指针指向的是完整数组。内存占用:指针数组需要存储多个指针,数组指针只需存储单个地址。运算差异:对指针数组的+1操作移动一个指针大小,对数组指针的+1会移动整个数组长度(如。

2025-08-20 10:41:42 746

空空如也

空空如也

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

TA关注的人

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