C语言
C语言当中的部分知识点和代码题
蜻蜓点水q
欢迎伙伴私聊一起交流共同学习
展开
-
预处理(进阶C语言)
语法#define MAX 100 //定义常量MAX为100#define reg register //使关键字用另一种符号替代;) //一种替换case//如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。//在定义标识符的时候加上了一个分号,在正常的语句下,连续使用两个分号,编译器会认为后面那个是一个空语句,但是在下面的场景会出现问题:max = MAX;原创 2023-03-03 18:12:39 · 60 阅读 · 0 评论 -
文件操作(C语言)
以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。: 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。:只写:以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。:以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。原创 2023-02-28 17:44:50 · 791 阅读 · 0 评论 -
动态内存管理(C语言进阶)
给了我们一个能够存放10个字节的连续内存空间,那么如果我们有5个char 类型的数据要储存,那么就要浪费剩余的内存空间,如果我们有20个 char 类型的数据要存储,那么arr数组的空间又不够我们存放数据。有时候我们需要的空间大小在程序运行的时候才能知道,那么数组在编译时开辟空间的方式就不能满足了。3.包含柔性数组成员的结构用malloc ()函数进行内存的动态分配,并且分配的内存应该大于结构的大小,以适应柔性数组的预期大小。C99中,结构中的最后一个元素允许是未知大小的数组,这就叫做柔性数组的成员。原创 2023-02-26 19:55:56 · 64 阅读 · 0 评论 -
自定义类型:枚举、联合
一一列举,把可能的取值一 一类列举出来,比如一周的星期一到星期日是有限的七天,可以一 一列举,性别有男、女、保密,月份有12个月等等。//枚举enum DayMon,Tues,Wed,Thur,Fri,Sat,Sunenum SexMALE,FEMALE,SECRETenum ColorRED,GREEN,BLUE枚举的可能取值都是有值的,默认从0开始,也可以在定义的时候赋初值。原创 2023-02-22 20:48:07 · 86 阅读 · 0 评论 -
模拟实现memmove
(该函数返回一个指向目标存储区 str1 的指针。原创 2023-02-21 19:56:49 · 53 阅读 · 0 评论 -
模拟实现memcpy
(该函数返回一个指向目标存储区 str1 的指针。原创 2023-02-21 19:53:31 · 255 阅读 · 0 评论 -
自定义类型:结构体
int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//初始化:定义变量的同时赋初值。struct Stu //类型声明//名字int age;//年龄//初始化int data;//结构体嵌套初始化//结构体嵌套初始化。原创 2023-02-20 21:27:18 · 50 阅读 · 0 评论 -
数据的存储 核心知识点(1)
但是在C语言中除了8 bit的char之外,还有16 bit的short 型,32 bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32 位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个如何将多个字节安排的问题。那么,S=1,M=1.01,E=2。IEEE 754规定: 对于32位的浮点数,最高的1位是符号位s,接着的8位是指数E,剩下的23位为有效数字M。对于64位的浮点数,最高的1位是符号位S,接着的11位是指数E,剩下的52位为有效数字M。原创 2023-02-14 16:22:09 · 78 阅读 · 0 评论 -
旋转数组的最小数字
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。2. 中间等于右边 [1, 0, 1, 1, 1], 这个是[0, 1, 1, 1, 1] 旋转过来的,这时候需要缩小范围 right--;3. 中间小于右边 [5, 1, 2, 3, 4], 这种情况下,最小数字则在左半边;输入:[3,4,5,1,2] [3,100,200,3]原创 2023-02-13 00:56:18 · 61 阅读 · 0 评论 -
if 和 else if 的区别
是镶嵌在if语句里的,如果一个程序需要2个或以上的if语句时,则使用else if语句,表示条件判断为假时,再次进行条件判断。在这个嵌套if中,第二个if为一个语句,前者是第二个if为第一个if的else分支的语句,而后者为平行的两个if分支复合语句。根据真假决定执行给出的两种操作之一。原创 2023-02-10 22:58:37 · 5066 阅读 · 0 评论 -
new/delete使用要点
对于非内部数据类型 的对象而言,new 在创建动态对象的同时完成了初始化工作。与函数 malloc相比,运算符new要简单得多。在对象有多个构造函数时, new 的语句也可以有多种形式。倘若用 new 创建对象数组,那么只能使用对象的无参数构造函数。new 内置了 sizeof、类型转换和类型安全检查功能。原创 2022-12-11 09:04:58 · 197 阅读 · 0 评论 -
输入一个整数数组,实现一个函数,来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。
数组中所有的奇数位于数组的前半部分,所有偶数位于数组的后半部分。原创 2022-11-26 16:28:09 · 751 阅读 · 0 评论 -
喝汽水问题
喝汽水,1瓶汽水n元,2个空瓶可以换一瓶汽水,给m元,可以喝多少瓶汽水(编程实现)。原创 2022-11-23 21:01:14 · 766 阅读 · 2 评论 -
求Sn=a+aa+aaa+aaaa+aaaaa的前5项之和,其中a是一个数字
例如:2 + 22 + 222 + 2222 + 22222原创 2022-11-22 13:47:35 · 140 阅读 · 0 评论 -
C语言中形参和实参对类型的要求
C语言形参与实参原创 2022-10-30 01:14:07 · 2232 阅读 · 0 评论