- 博客(25)
- 收藏
- 关注
原创 C语言_预处理详解
break;case//如果定义的stuff太长,可以分为几行写,除了最后一行外,每行的后面都要加一个续行符(反斜杠)printf;case //如果定义的stuff太长,可以分为几行写,除了最后一行外,每行的后面都要加一个续行符(反斜杠) # define DEBUG_PRINT printf("file:%s\tline:%s\t \;
2025-06-04 01:47:27
773
原创 C语言_文件操作
磁盘(硬盘)上的文件就是文件程序文件、数据文件程序文件:程序文件包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)数据文件:文件中是程序运行时读写的数据。有时我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使用,这里处理的就是磁盘上文件文件名:文件名包含3部分——文件路径+文件名主干+文件后缀,例如:c:\code\test.txt。
2025-05-27 20:54:35
881
原创 C语言_动态内存管理
这样一来,有时我们需要的空间大小在程序运行的时候才能知道,那数组的编译时开辟空间的方式就不能满足了为了解决这个问题,C语言引入了动态内存开辟,让程序员自己可以申请和释放空间,就比较灵活了。
2025-05-17 22:55:13
1138
原创 C语言_自动义类型:联合和枚举
与结构体相似,联合体也是有一个或多个成员(可以是不同类型)构成;但是编译器只为最大的成员分配足够的内存空间联合体的特点是所有成员共用同一块内存空间,所以联合体也叫:共用体。
2025-05-15 19:33:07
452
原创 C语言_自定义类型:结构体
原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;位段的几个成员可能会共用一个字节,这样的话某些成员并不是某个字节的起始位置,那么这些位置处是没有地址的(内存中每个字节分配一个地址,而字节内部的bit位是没有地址的)4、如果结构体中嵌套了其他结构体,则被嵌套结构体最大对齐数的计算范围是自身成员,而嵌套结构体最大对齐数的计算范围是全部成员(两个结构体的成员)那是因为函数传参时,参数需要压栈,会有时间和空间上的系统开销,如果参数是一个结构体对象的时候,结构体过大,参数压栈开销就会大,会导致性能下降。
2025-05-14 18:31:54
841
原创 C语言_数据在内存中的存储
当存储的数据超过一个字节的时候,就会出现存储顺序的问题,存储顺序分为大端字节序存储和小端字节序存储。大端字节序存储:数据的低位字节内容保存在内存的高地址处,而数据的高位字节内容保存在内存的低地址处小端字节序存储:数据的低位字节内容保存在内存的低地址处,而数据的高位字节内容保存在内存的高地址处为什么会有大小端模式之分呢?在计算机系统中,每个地址单元都对应着一个字节(byte),一个字节为8bit位,但是在C语言中除了8bit的char以外,还有32bit的int,那对于位数大于8位的处理器,例如32。
2024-10-24 19:17:31
1086
34
原创 C语言_字符函数和字符串函数
在C语言中,。函数可以判断参数部分的C是否属于大写字母范围。如果是就返回非0整数,如果不是就返回0。将字符串中的大写字母转小写,其他字符不变。
2024-10-01 21:16:46
1232
7
原创 C语言_回调函数和qsort
通俗易懂些讲就是把函数的指针作为参数传递给另一个函数,当在另一个函数中通过这个指针调用其所指向的函数时,那这个通过指针被调用的函数就叫做。先上一个模拟这段代码中我们可以看到,case中的代码除了的调用的函数不同,其他成分总是反复出现,显得特别臃肿。这个时候我们就要使用这段代码看起来是不是让人眼前一亮呢?case。
2024-09-30 18:00:08
786
7
原创 C语言_指针(2)
我们在定义整形数组和字符数组时,分别用了int和char,所以数组的内容是什么类型就用什么类型来定义。如定义一个字符指针数组和整形指针数组。
2024-09-25 00:43:36
737
7
原创 C语言_指针(1)
计算机上)在处理数据的时候,需要的数据是在内存中读取的,处理后的数据也会放回内存中。我们知道CPU处理数据的速度是非常快的,那读取的速度必然有过之而无不及,那么数据如此之多,读取数据时是如何做到快、准、狠的呢?
2024-08-28 20:54:10
1073
2
原创 C语言_操作符详解
在以往的文章中,已经说明过算术操作符、赋值操作符、逻辑操作符、条件操作符和部分单目操作符,今天继续说明一部分,操作符中有一些操作符与二进制有关,所以我们要先讲一些前置知识。首先我们从10进制说起,10进制是我们生活中经常使用的,众所周知:其实2进制也是一样的:例:1010是二进制数字10进制的123表示的值是一百二十三,为什么是这个值呢?那是因为10进制中的每一位都是有权重的,如下图:我们拿2进制数1101举例,2进制和10进制是类似的,如下图:我们拿10进制数125举例:8进制的数字每⼀位是0~
2024-08-13 21:10:04
831
7
原创 C语言_函数递归
是一种解决问题的方法,中的就是的意思,就是的意思。在C语言中,。上述代码是一个最简单的程序,旨在演示的基本形式,不是为了解决问题,代码最终也会,导致。
2024-08-12 00:39:17
1108
4
原创 VS_调试技巧
当我们发现程序有问题的时候,需要找出问题,并解决问题,这个找出问题的过程就叫做调试,英文叫debug(消灭bug的意思)。当我们在测试程序发现结果不符合预期时,我们就需要调试首先要找到问题所在的位置,然后修正代码,最后重新测试。
2024-08-10 17:52:45
989
3
原创 C语言_函数
顾名思义,自定义函数就是我们自己定义的函数,定义形式如下:ret_type fun_name(形式参数)函数体ret_type是函数返回类型fun_name是函数名( )中放的是形式参数{ }中放的是函数体例:写⼀个加法函数,完成2个整型变量的加法操作。return r;int a = 0;int b = 0;//将实参a,b传给形参x,y,运算后将返回值赋给ret。return 0;函数声明是在告诉编译器有一个函数叫什么,参数是什么,返回类型是什么。
2024-08-10 00:00:34
773
原创 C语言_分支与循环
C语言是的程序设计语言,结构指的是。顾名思义指的是程序按照代码的书写顺序,从上到下,从左到右依次执行。而需要进行进一步深入了解,且听我娓娓道来。
2024-08-04 00:15:22
758
2
原创 C语言_printf和scanf的学问
允许限定占位符的最小宽度(:这里的宽度指的是输出内容占用屏幕空间的总宽度)。%6d表示这个最少为6位。。当输出内容不足6位时,会用空格补齐。如果想让输出的值为,则需要在后加一个。上方代码中,%10f表示输出的最少要有10位,由于占位符%f默认输出小数点后6位,所以1.23输出的值前方要有2个空格。
2024-07-08 20:56:37
427
1
原创 C语言_数据类型、变量
数据类型分为内置类型和自定义类型两大类,其大体架构如图所示:类型用来存储字符,通常占用1个byte(字节)注:字符的存储本质上是按照某个编码系统(如ASCII码)将字符转换为数字来存储的。整形类型分为短整型、整形、长整型、更长的整形(长长整形)。短整型(,也可以写成),是有符号整形,通常至少占用2个byte,存储较小数值。整形(),是有符号整形,通常占用4个byte,整形是我们在写代码时用到最多的数据类型。长整型(,也可以写成),是有符号整形,通常在32位系统上占用4个byte,在64位系统上占用
2024-06-26 20:28:34
687
1
原创 二、Data types and variables of C(一)
其实每⼀种数据类型有⾃⼰的取值范围,也就是存储的数值的最⼤值和最⼩值的区间,有了丰富的类型,我们就可以在适当的场景下去选择适合的类型。运算符的返回值,C 语⾔只规定是⽆符号整数,并没有规定具体的类型,⽽是留给系统⾃⼰去决定,”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。每⼀种数据类型都有⾃⼰的⻓度,使⽤不同的数据类型,能够创建出⻓度不同的变量,⾥⾯的 int 可以省略,所以上⾯的变量声明也可以写成下⾯这样。的操作数如果不是类型,是表达式的时候,可以省略掉后边的括号的。
2024-04-24 01:57:58
687
原创 Common concepts of C(2)
我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的二进制存储的呢?如果我们每个人自己给这些字符中的每字符编⼀个⼆进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语言中的字符就遵循了 ASCII 编码的方式。
2024-04-11 23:25:57
1160
原创 Common concepts of C(1)
这⾥简单的介绍⼀下 printf , printf 是⼀个库函数,它的功能是在标准输出设备(⼀般指屏幕)上进⾏信息的打印。为了不再重复实现常⻅的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。同时我们在使⽤库函数的时候,是需要包含头⽂件的,⽐如: printf 函数需要包含的就是。⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。代码中使⽤了 printf 函数,实现了在屏幕上的信息的打印。
2024-04-07 01:44:32
404
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人