刘冲的博客

一个程序猿的自我修养


  • 首页

  • 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-29

C语言赋值-1,为何输出一个很大的数,比如255?

07-28

初学者常用的stdio库,原来还有这么多知识点

07-28

计算机是如何存储小数的?在C语言编程中,应该注意什么?

07-28

C语言陷阱与技巧第34节,联合体union的性质和误区,union成员必须等长度吗?使用union必须考虑大小端吗?

07-25

C语言陷阱与技巧第33节,联合体union的使用场景是什么?它能解决什么问题?为什么要使用union语法?

07-24

C语言陷阱与技巧第32节,有些函数的参数是结构体指针型,为什么要这么用?为什么要使用结构体指针型参数?

07-23

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-18

C语言编译器会如何处理a = b---c?按照a=(b--)-c,还是a=b-(--c)?

07-16

C语言基本功修炼秘籍第4节,为什么有人说“C语言数组和指针是等价的”?

07-15

C语言基本功修炼秘籍第3节,指针与字符串的关系,不能向指针直接拷贝数据的,因为指针没有“地盘”存放数据

07-15

C语言怎样传递main()函数的两个参数

07-15

传统的嵌入式C语言程序员快要灭绝了

07-14

C语言陷阱与技巧第31节,都说void*指针是“万能指针”,它有什么用?为什么要用void*指针?

07-12

嵌入式程序员没有互联网程序员挣钱,大学扎堆开设Java等流行编程语言课程

07-11

C语言基本功修炼秘籍第2节,算符优先级只是“部分”优先?序列点能够带来哪些好处?为何说C语言程序员只有基本功扎实,才能写出紧凑简洁的代码?

07-11

C语言陷阱与技巧第30节,很多程序员不知道的小技巧,能减少代码量

07-10

C语言中结构体可以直接赋值,而不用memcpy

07-10

C语言基本功修炼秘籍第1节,序列点(sequence point)是什么?C语言程序什么时候会产生序列点?

07-09

会有编程语言在嵌入式领域取代C语言的地位吗?

07-08

C语言陷阱与技巧第29节,很多程序员不知道,C语言也能“继承”父类

07-07

C语言陷阱与技巧第49节,不要使用固定长度数组,从没有固定边界的数据源接收数据

07-07

C语言内联函数(inline),普通函数,和函数式宏定义的区别,与使用场景

07-07

C语言程序开发中,两个初学者经常犯的错误

07-06

将多条C语言语句写到一行,能够提升效率吗?

07-06

为什么有经验的C语言程序员都不推荐使用 scanf() 函数?

07-05

为什么要学习C语言?

07-04

C语言陷阱与技巧28节,模拟“面向对象”编程,怎样定义私有成员

07-01

C语言陷阱与技巧第48节,创建的线程函数占用的资源就是不释放?可以自己创建线程解决

07-01

C语言陷阱与技巧第47节,有些工作线程比较重要,如何为其指定优先级?

06-27

C语言陷阱与技巧27节,“函数指针结构体”为C语言找了个“对象”

06-25

C语言陷阱与技巧第46节,如何获取线程函数的执行结果?怎么知道线程函数是成功了还是失败了?

06-25

C语言陷阱与技巧第45节,怎样自己定义一套“动态内存”分配机制?

06-24

C语言陷阱与技巧26节,一文弄懂“函数指针数组”,它有何意义?

06-23

C语言陷阱与技巧第44节,程序开发中几种常用的内存分配方式详解

06-23

1997年,美国发射的探测器“探路者号”在火星上究竟发生了什么?

06-22

C语言陷阱与技巧25节,常说的“回调函数”是什么?为何要用它?

06-20

C语言陷阱与技巧第43节, 10条避免程序出现严重漏洞bug的实战开发经验

06-20

C语言陷阱与技巧24节,做代码选择,你不一定都要使用if判断的

06-19

基于 fat32 文件系统,预分配存储数据

06-19

海康将视频智能信息存在预分配的视频文件里了

06-19

C语言陷阱与技巧第42节, 一些难以被重现和调试解决的bug,该如何处理?最好在开发阶段尽力避免

06-19

C语言陷阱与技巧23节,指针型参数的这个小“陷阱”,很多人中招

06-17

C语言陷阱与技巧22节,函数需要返回多个值怎么办?C语言能做到吗

06-16

C语言陷阱与技巧第41节, 多次创建线程,内存消耗不断增加是怎么回事?线程退出也不释放内存

06-16

为什么要避免使用malloc()和free()函数?

06-15

C语言陷阱与技巧第40节,现在也能使用变量定义“变长数组”了,为什么要尽量减少malloc()?

06-14

言C语言陷阱与技巧第21节,函数只能返回一个值吗?有多个返回值怎么办?

06-14

C语言陷阱与技巧20节,自定义“编译时”assert方法

06-12

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-13

c语言入门16,程序员和码农的区别在于这个,算法的介绍

11-13

c语言入门15,C语言的设计精神是:相信每个C程序员都是高手,数组的介绍

11-13

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-06

c语言入门5,一文彻底弄懂函数的形参和实参,再也不晕了

11-05

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

一个高端大气上档次的网站

452 文章
22 分类
29 标签
RSS
  • 杂谈 (64)
  • 单片机 (18)
  • Linux笔记 (83)
  • 文件系统 (16)
  • 系统部署 (4)
  • 游戏开发 (1)
  • 编程语言 (4)
  • C语言 (190)
  • C++ (14)
  • C++11智能指针 (3)
  • C++虚函数 (6)
  • Python (35)
  • 深度学习 (4)
  • tensorflow (38)
  • Caffe (2)
  • PyTorch (0)
  • PyTorch基础 (3)
  • GAN (0)
  • FFmpeg (3)
  • 算法 (6)
  • 统计算法 (2)
  • 图像处理基础 (3)
© 2023 刘冲的博客 版权所有,保留一切权利 | 皖ICP备17024974号
Typecho
主题 - NexT.Pisces