c
文章平均质量分 67
不是杠杠
严于律己,宽以待人。
学无止境
展开
-
fprintf 和printf的区别 都有什么优缺点 什么场景适用
fprintf和printf在C语言中都是用于输出格式化数据的函数,但它们之间存在一些关键差异,包括输出目标、函数参数和应用场景。这些差异导致了它们各自的优势和适用场景。原创 2024-04-09 09:33:11 · 290 阅读 · 0 评论 -
strlen和sizeof
strlen 和 sizeof 是 C 语言中两个用于确定字符串或数据类型大小的常用操作符,但它们的工作方式和目的有所不同。下面是对这两个操作符的详细解释:原创 2024-03-26 09:04:36 · 1016 阅读 · 0 评论 -
整型变量的原子操作
原子操作(Atomic Operation)是指不可中断的操作,即在多线程环境下,当一个线程在执行原子操作时,不会被其他线程的调度和中断所影响。这种操作在多线程编程中尤为重要,因为它能保证操作的原子性,从而避免数据竞争和不一致。原创 2024-03-14 17:06:35 · 1171 阅读 · 0 评论 -
线程(thread)
线程(Thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务。在Unix/Linux系统中,使用POSIX线程库(也称为pthread库)来支持多线程编程。原创 2024-03-13 15:04:06 · 576 阅读 · 0 评论 -
stack(堆栈)
堆栈(Stack)是一种遵循后进先出(Last In First Out,简称LIFO)原则的数据结构。这意味着最后一个被添加到堆栈中的元素将是第一个被移除的元素。堆栈在计算机科学和编程中有许多应用,包括函数调用、内存管理、括号匹配等。原创 2024-02-29 15:30:34 · 251 阅读 · 0 评论 -
指针变量、表示资源描述符的变量、BOOL变量声明必须赋予初值
通过gdb查看崩溃的core文件,原因:因为传入的参数是fCondition,pMsg没有初始化没有指定为nullptr,在12行释放了无效指针。对全局变量,静态变量,在编译阶段自动初始化为0或者等于NULL,不用在定义时强制初始化。因为系统会自动初始化为0或者NULL;变量声明赋予初值,可以避免由于编程人员的疏忽导致的变量未初始化引用。如上图2程序报无效指针,直接崩了。原创 2023-07-04 15:39:00 · 152 阅读 · 0 评论 -
断言(ASSERT)
断言(Assertion)是一种在程序中插入的检查机制,用于验证某个条件是否为真。它通常用于调试阶段,帮助开发人员在程序中的关键位置或者假设语句中验证预期的条件是否满足。如果断言的条件为假,那么程序会终止并生成相应的错误消息。断言是一种强大的调试工具,它可以帮助开发人员在程序中进行条件验证和错误检测。正确使用断言可以提高代码的可靠性和调试效率。在许多编程语言中,包括C、C++、Java和Python等,都提供了断言的机制。其中最常用的形式是通过。为假,程序将终止并生成一个错误消息,指示出现了一个断言错误。原创 2023-06-25 13:31:39 · 333 阅读 · 0 评论