刘冲的博客
一个程序猿的自我修养
首页
tags
搜索
分类 C语言 下的文章
2020
C语言的递归函数很难理解,该如何分析递归函数?既然递归和循环等价,为什么不丢弃递归呢?
02-22
2019
最常见,也最基本的7道C语言面试题,还是有不少人弄不明白
11-19
C语言新增stdint.h头文件的讨论,什么是“快”类型,什么是“小”类型?
11-05
长久以来,其实我使用云服务器开发C语言程序,它还可以建立个人网站
10-29
C语言函数究竟应该使用 0 还是 1表示成功?
10-29
C语言如何定义“可变参数”函数?计算机是如何处理可变参数函数的?
10-25
C语言程序如果不关闭打开的文件,会发生什么?为什么要调用fclose() 函数?
10-23
C语言的“不透明指针”
10-22
C语言scanf()处理用户输入时,不能事先获知用户的输入长度,怎么办?
10-18
为什么C语言函数可以返回结构体,却不能返回数组?
10-16
使用临时中间变量,会降低C语言程序效率吗?
10-15
C语言程序开发中,变量定义的位置影响程序效率吗?
10-14
C语言近几十年增加了一些“新特性”
10-03
C语言程序退出后,malloc()申请的内存会被操作系统自动回收吗?
09-26
为什么逐字节拷贝没有memcpy()函数快,它使用了哪些技巧提升效率?
09-21
C语言程序开发中的(void)size;有什么用?变量前使用(void)强制转换是什么意思?
09-19
C语言中的main()函数为什么可以有好几种类型?
09-18
怎样获得C语言结构体成员的长度呢?
09-17
C语言的数组指针能带来什么好处?为什么要使用它?
09-16
C语言程序开发中,网络通信库函数recv函数,究竟应该传递多大的内存给它?
09-15
C语言也是有所发展的,restrict 关键字有什么用?
09-11
C语言项目中,结构体中只有一个数组是什么意思?不是多此一举吗?
09-10
C语言函数void fun()和 void fun(void)有什么区别?
09-09
C语言程序为什么那么快,它牺牲了什么换来的?C语言有什么缺点吗?
09-08
.c 与 .cc 与 .cpp 与 .hpp 与 .h 与 .cxx后缀名源文件,到底有什么区别?
09-07
C语言为什么要有->运算符,有.运算符不就够了吗?
09-04
C语言中的assert有什么用?怎样在release版本中关闭它?
09-04
C语言如何像C++那样定义带“默认参数”的函数?
09-03
C语言程序开发中的内存分配究竟是如何进行的?为什么calloc() 函数的效率比 malloc()+memset() 函数更高?
09-02
C语言程序开发中,if语句太多,整个程序太乱怎么办?
08-31
C语言中的“短路表达式(short-circuit evalution)”是什么?
08-31
难以捉摸的C语言,这个程序为什么会这样执行呢?
08-29
既然C语言未初始化的局部变量值不确定,那么能否使用它做“随机值”呢?
08-28
在C语言程序中,为什么二维数组赋值的顺序会影响效率?
08-27
在C语言中,为什么十六进制的数字前缀用 0x 呢?
08-26
C语言程序中,移位操作代替乘除操作,效率更高吗?
08-23
C语言程序开发中,如何对一段内存进行 16 字节对齐操作?
08-22
C语言程序开发中,一些数据结构为什么要“内存对齐”?
08-20
C语言中的i++和++i的执行效率一样吗?
08-16
C语言signed char型变量为什么能够表示的范围是-128到127,而不是-127到128?
08-15
C语言中的char类型为什么也有signed和unsigned,字符怎么会有符号呢?
08-14
C语言结构体大小等于它的所有成员大小之和吗?
08-12
从C语言源代码分析,Linux系统是如何记录和描述进程的
08-06
C语言程序开发中,处理浮点数时应注意哪些?
08-06
这段C语言代码虽然简单,但是背后隐藏的知识点可不简单
07-31
C语言程序开发中,调用 malloc() 函数时究竟需不需要做类型转换?
07-31
C语言陷阱与技巧第36节,#include包含C语言中的头文件是什么意思?为什么不能在头文件里定义全局变量?
07-30
C语言赋值-1,为何输出一个很大的数,比如255?
07-28
初学者常用的stdio库,原来还有这么多知识点
07-28
计算机是如何存储小数的?在C语言编程中,应该注意什么?
07-28
C语言陷阱与技巧第34节,联合体union的性质和误区,union成员必须等长度吗?使用union必须考虑大小端吗?
07-26
C语言陷阱与技巧第33节,联合体union的使用场景是什么?它能解决什么问题?为什么要使用union语法?
07-25
C语言陷阱与技巧第32节,有些函数的参数是结构体指针型,为什么要这么用?为什么要使用结构体指针型参数?
07-24
C语言基本功修炼秘籍第6节,C语言有原生的布尔类型吗?自己将TRUE定义为1安全吗?
07-23
C语言基本功修炼秘籍第6节,指针和内存的关系
07-21
什么是C语言中的空指针?
07-21
C语言基本功修炼秘籍第5节,初学者福音,几个C语言指针的问题详解
07-20
C语言程序开发中,怎样检查接收到的参数是指针还是数组?
07-19
C语言程序编译时assert
07-19
C语言编译器会如何处理a = b---c?按照a=(b--)-c,还是a=b-(--c)?
07-17
C语言基本功修炼秘籍第4节,为什么有人说“C语言数组和指针是等价的”?
07-16
C语言基本功修炼秘籍第3节,指针与字符串的关系,不能向指针直接拷贝数据的,因为指针没有“地盘”存放数据
07-15
C语言怎样传递main()函数的两个参数
07-15
传统的嵌入式C语言程序员快要灭绝了
07-14
C语言陷阱与技巧第31节,都说void*指针是“万能指针”,它有什么用?为什么要用void*指针?
07-12
嵌入式程序员没有互联网程序员挣钱,大学扎堆开设Java等流行编程语言课程
07-12
C语言基本功修炼秘籍第2节,算符优先级只是“部分”优先?序列点能够带来哪些好处?为何说C语言程序员只有基本功扎实,才能写出紧凑简洁的代码?
07-11
C语言陷阱与技巧第30节,很多程序员不知道的小技巧,能减少代码量
07-10
C语言中结构体可以直接赋值,而不用memcpy
07-10
C语言基本功修炼秘籍第1节,序列点(sequence point)是什么?C语言程序什么时候会产生序列点?
07-10
会有编程语言在嵌入式领域取代C语言的地位吗?
07-08
C语言陷阱与技巧第29节,很多程序员不知道,C语言也能“继承”父类
07-08
C语言陷阱与技巧第49节,不要使用固定长度数组,从没有固定边界的数据源接收数据
07-08
C语言内联函数(inline),普通函数,和函数式宏定义的区别,与使用场景
07-07
C语言程序开发中,两个初学者经常犯的错误
07-06
将多条C语言语句写到一行,能够提升效率吗?
07-06
为什么有经验的C语言程序员都不推荐使用 scanf() 函数?
07-05
为什么要学习C语言?
07-04
C语言陷阱与技巧28节,模拟“面向对象”编程,怎样定义私有成员
07-02
C语言陷阱与技巧第48节,创建的线程函数占用的资源就是不释放?可以自己创建线程解决
07-01
C语言陷阱与技巧第47节,有些工作线程比较重要,如何为其指定优先级?
06-27
C语言陷阱与技巧27节,“函数指针结构体”为C语言找了个“对象”
06-26
C语言陷阱与技巧第46节,如何获取线程函数的执行结果?怎么知道线程函数是成功了还是失败了?
06-25
C语言陷阱与技巧第45节,怎样自己定义一套“动态内存”分配机制?
06-24
C语言陷阱与技巧26节,一文弄懂“函数指针数组”,它有何意义?
06-24
C语言陷阱与技巧第44节,程序开发中几种常用的内存分配方式详解
06-23
1997年,美国发射的探测器“探路者号”在火星上究竟发生了什么?
06-22
C语言陷阱与技巧25节,常说的“回调函数”是什么?为何要用它?
06-21
C语言陷阱与技巧第43节, 10条避免程序出现严重漏洞bug的实战开发经验
06-20
C语言陷阱与技巧24节,做代码选择,你不一定都要使用if判断的
06-20
基于 fat32 文件系统,预分配存储数据
06-20
海康将视频智能信息存在预分配的视频文件里了
06-20
C语言陷阱与技巧第42节, 一些难以被重现和调试解决的bug,该如何处理?最好在开发阶段尽力避免
06-19
C语言陷阱与技巧23节,指针型参数的这个小“陷阱”,很多人中招
06-18
C语言陷阱与技巧22节,函数需要返回多个值怎么办?C语言能做到吗
06-17
C语言陷阱与技巧第41节, 多次创建线程,内存消耗不断增加是怎么回事?线程退出也不释放内存
06-16
为什么要避免使用malloc()和free()函数?
06-15
C语言陷阱与技巧第40节,现在也能使用变量定义“变长数组”了,为什么要尽量减少malloc()?
06-14
言C语言陷阱与技巧第21节,函数只能返回一个值吗?有多个返回值怎么办?
06-14
C语言陷阱与技巧20节,自定义“编译时”assert方法
06-13
C语言陷阱与技巧第39节,不用数据类型也能定义变量,拷贝函数参数是很有必要的
06-12
C语言陷阱与技巧第38节,拷贝部分结构体,内容不正确时怎么回事?
06-11
C语言陷阱与技巧第37节,长度为0的数组有什么意义?空数组的实际使用意义
06-10
C语言陷阱与技巧第35节,如何理解C语言的二级指针,如何理解C语言的多级指针,它们有什么用?
05-31
啤酒3块一瓶,7瓶盖2酒瓶可换一瓶酒,15块最多可以喝几瓶?使用C语言解决
05-23
C语言陷阱与技巧第12节,重要数据怎么保存?如何判断数据是否损坏?
04-28
C语言陷阱与技巧第11节,sizeof(数组名)并不等于数组长度,怎样用它计算数组长度呢?
04-28
C语言陷阱与技巧第9节,在程序运行异常时,输出错误函数链路径
04-28
C语言陷阱与技巧19节,#define atomic_read(v) ((v)->counter + 0)在宏定义后面加0有什么好处?怎样自定义一个自己的锁?
04-28
C语言陷阱与技巧第18节,函数式宏定义的“缺陷”,没有参数类型检查,产生多次副作用怎么办?
04-28
C语言陷阱与技巧第17节,如果有个条件很大可能不发生,怎样写出更高效率的程序
04-28
C语言陷阱与技巧第16节,处理字符串
04-28
C语言陷阱与技巧第15节,错误处理太麻烦,不写行不行?
04-28
C语言陷阱与技巧第14节,数组操作的一些技巧,怎么只给一部分数组元素赋值?
04-28
C语言陷阱与技巧第13节,1字节(Byte)一定等于8位(bit)吗?C语言怎么操作位?
04-28
C语言陷阱与技巧第8节,输出适当的信息,有利于定位异常
04-28
C语言陷阱与技巧第7节,define函数式宏定义的使用陷阱与技巧,使用do{}while(0)包裹代码的原因
04-28
C语言陷阱与技巧第6节,代码封装为函数就不可用了?
04-28
C语言陷阱与技巧第3节,怎样主动让出CPU?如何为C语言函数增加超时检测功能
04-28
C语言经典面试题详解第20节
04-28
C语言陷阱与技巧第2节,inline函数介绍,demo详解
04-28
C语言面试题详解第19节
04-28
C语言面试题详解第18节
04-28
C语言面试题详解第17节
04-28
C语言陷阱与技巧第1节,C语言函数中的局部变量作用范围是整个函数吗?
03-22
C语言面试题详解第16节
03-22
C语言面试题详解第15节
03-22
C语言面试题详解第14节
03-12
C语言面试题详解(第13节)
03-09
C语言基础非常重要,为什么字符串输出不正常呢?
03-09
C语言面试题详解(第12节)
03-03
C语言面试题详解(第11节)
03-03
C语言面试题详解(第10节)
02-26
C语言面试题详解(第9节)
02-25
C语言面试题详解(第8节)
02-21
C语言面试题详解(第7节)
02-21
C语言面试题详解(第6节)
02-17
C语言面试题详解(第5节)
02-16
C语言面试题详解(第4节),define 宏相关的面试题
02-14
C语言面试题详解(第3节),基础要是不牢,就很容易中套
02-05
C语言面试题详解(第2节)
02-05
C语言经典面试题详解(第1节)
02-05
几个是大多C语言初学者都会迷惑的问题
02-05
C语言结构体里只有一个成员,有什么特别意义吗?
01-30
2018
c语言实战29,linux 内核是如何创建进程,线程的?
12-08
c语言入门28,头文件的使用
11-27
c语言入门27,多文件编程,extern和static关键字
11-27
c语言入门26,宏定义的使用
11-27
c语言入门25,使用c语言实现“类”的封装
11-27
c语言入门24,函数指针和指针函数
11-27
c语言入门23,一文弄懂为什么要使用指针,看完还不懂,你踢我
11-27
c语言入门22,三分钟分清数组指针和指针数组,绕口令名字谁取的
11-27
c语言入门21,一文弄懂指针为何要有类型,1+1不等于2是对的
11-16
c语言入门20,一文扒开C语言指针神秘的外衣,终于明白了
11-16
c语言入门19,应该没有人故意写不可移植的代码吧,C语言的数据类型介绍
11-16
c语言入门18,作为程序员,你的使命是什么?程序员都是如何衡量效率的?
11-16
c语言入门17,优秀的程序员应该设计什么样的算法?归并排序算法介绍
11-14
c语言入门16,程序员和码农的区别在于这个,算法的介绍
11-14
c语言入门15,C语言的设计精神是:相信每个C程序员都是高手,数组的介绍
11-14
c语言入门13,突破重重包围,超强跳转语句指哪去哪,goto语句介绍
11-12
c语言入门12,看书都懂,真让写代码却不知道如何入手咋办
11-12
c语言入门14,如何用C语言描述一只猫?C语言的结构体介绍
11-09
c语言入门11,循环语句一大家和它的管家,其他循环语句和break,continue
11-09
c语言入门10,这件事,计算机比人类擅长处理,while循环介绍
11-08
c语言入门9,你觉得递归和指针,哪个难理解?递归函数的介绍
11-08
c语言入门8,它是if/else语句的亲戚,switch语句介绍
11-08
c语言入门7,计算机世界的真真假假,逻辑运算符的介绍
11-07
c语言入门6,掌握它,世界上还有解决不了的问题吗?if分支语句
11-07
c语言入门5,一文彻底弄懂函数的形参和实参,再也不晕了
11-06
c语言入门4,制作可以变形的积木,函数的形参和实参
11-05
c语言入门3,掌握它就能随心所欲的编程了,自己造积木
11-04
c语言入门2,程序可以随便写吗?什么是函数?
11-04
c语言入门1,codeblocks的安装,以及第一个C语言程序
11-03
c语言函数为什么可以return局部变量,局部变量不是被释放了吗
11-02
三分钟弄清楚C语言为何函数退出就不能使用局部变量了,不初始化局部变量会出错吗
11-02
两分钟弄懂C语言为什么要定义不同的数据类型,有多注重细节
11-01
编译器是怎样优化代码的?如何查看编译器是否优化代码?怎样避免编译器优化代码?volatile关键字的使用
10-29
linux多线程编程中IO读写的安全函数,pread/pwrite和read/write有什么区别和联系,实例代码对比
10-25
linux c语言多线程编程怎么传递参数?创建线程后立刻返回,出现段错误(Segmentation fault)的原因和解决办法
10-23
linux c语言编程,使用setjmp和longjmp函数自制类似python的try-catch模块捕获异常,处理段错误,浮点错误等信号错误(1)
10-21
linux c语言编程,使用mkfifo创建FIFO特殊文件,用于进程间通信
10-18
linux多cpu编程,为线程指定cpu,sched_setaffinity和sched_getaffinity的详解与使用,使用time命令得到程序执行时间
10-11
C语言const的使用,const修饰指针时,const char*,char const*和char* const有什么区别?
09-27
linux C语言编程,使用realloc函数后,原内容数据还在吗?原指针还能用吗?原内存被释放吗?
09-17
linux使用pthread库多线程编程,即使设置pthread_detach,资源也残留部分,不完全释放问题
09-17
linux C语言多线程编程,如何传入参数,如何获得返回值
08-07
c语言编程,位域(bit field)的使用,方便位操作
07-24
VS2010 调用 GSL 数学算法库的流程
07-23
c语言编程如何实现二维动态内存分配
07-09
C语言结构体写入文件“错误”,根据结构体成员名计算偏移的方法
06-22