- 博客(25)
- 收藏
- 关注
原创 C语言——枚举和联合
1.枚举,就是一一列举,把可能的取值一一列举出来;枚举常量的值默认是从0开始,后面的依次递增1;2.联合的成员是共用同一块内存空间的,这样一个联合变量的大小,至少是最大成员的大小
2023-04-21 10:45:00
345
1
原创 C语言——结构体的内存对齐、位段
1.第一个成员放在结构体变量在内存中存储位置的0偏移处开始;从第2个成员往后的所有成员都放在一个对齐数的整数倍的地址处;结构体总大小为最大对齐数的整数倍;2.位段的空间上是按照需要以4个字节(int)或1个字节(char)的方式来开辟的,位段是不跨平台的;与结构相比,位段可以达到同样的效果,并且可以很好的节省空间,但是有跨平台的问题存在
2023-04-19 10:15:00
284
原创 C语言——结构体的自引用、结构体嵌套、结构体互相包含
1.结构体的自引用:使用结构体指针来实现自引用;2.结构体嵌套;3.结构体互相包含:如果两个结构体互相包含,则需要对其中一个结构体进行不完整声明
2023-04-18 12:30:00
7535
1
原创 C语言——结构体
1.结构是一种用户自定义的数据类型;2.定义结构体变量,一般有三种形式,另外有使用 typedef 的情况;3.对结构体成员时字符数组的情况,赋值可以通过字符串函数 strcpy(成员,字符串);4.访问结构体成员:结构成员访问运算符 "." 和 "->";5.结构体地址传参相比于结构体传参更好
2023-04-16 09:45:00
2187
原创 C语言——函数指针、函数指针数组、回调函数
函数指针就是指向函数的指针;回调函数:如果把一个函数的指针作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就说这是回调函数
2023-04-15 16:30:00
196
原创 C语言——字符指针、指针数组和数组指针、二维数组作为函数参数
1.字符指针指向一个字符、指向字符串首地址;2.字符指针和数组名的区别;3.指针数组和数组指针的区别;4.二维数组作为函数参数,形参可以写成二维数组和数组指针两种
2023-04-15 12:15:25
953
原创 C语言——assert函数、const类型限定符
一般将 assert 断言函数对一个函数的参数进行空指针检查;对指针使用const来说,要区分是限定指针本身为 const 还是限定指针指向的值为 const
2023-04-14 15:15:37
458
原创 C语言——指针
1、指针(pointer)是一个值为内存地址的变量(或数据对象),也可以说,指针就是地址;2、可以用指针表示数组的元素和获得元素的值;3、出现野指针的三种情况;4、指针和整数的加减法运算,如 p + i == arr[1],指针是按对应大小的存储单元偏移的;5、指针类型决定了指针解引用的权限有多大(能操作几个字节),决定了指针走一步有多大
2023-04-04 11:24:05
189
原创 C语言——冒泡排序
假设一共要比较 n 个元素,一轮比较就是归位一个最大数,那么一共比较 n-1 轮;第一轮比较 n-1 次,第二轮比较 n-2 次...;最坏情况下冒泡排序需要比较的次数是 n(n-1)/2;冒泡排序的时间复杂度为 O(N²)**
2023-03-31 18:11:17
94
原创 C语言——数组
数组(array)由数据类型相同的一系列元素组成;二维数组是以数组为数组元素的数组;一般情况下,数组名就是首元素地址,有两个例外:sizeof(数组名) 和 &数组名
2023-03-30 17:43:03
190
原创 C语言——函数的递归
C允许函数调用它自己,这种调用过程称为递归(Recursion);每一次递归都会在栈区上申请内存空间,可能会导致会栈溢出;递归的两个必要条件:存在限制条件,每次递归调用之后越来越接近这个限制条件
2023-03-29 21:28:43
155
原创 C语言——函数
1.函数是完成特定任务的独立程序代码单元,由函数头和函数体组成,而函数体包括了函数的返回类型、函数名、函数参数;2.通常习惯写上函数声明,写在程序的开头,告诉编译器有一个函数;3.函数调用可以有传值调用和传址调用;4.函数不能嵌套定义,但可以嵌套调用,函数的返回值可以作为另一个函数的参数
2023-03-27 22:03:53
124
原创 C语言——EOF、getchat( )、putchar( )
1、单字符I/O:getchar( ) 和 putchar ( );2、EOF 的用法:while ((ch = getchar()) != EOF)、while(scanf("%d",&n) != EOF)
2023-03-11 21:35:25
346
原创 C语言——循环语句 while、for、do while
1、语句(statement)是 C 程序的基本构建块,一条语句相当于一条完整的计算机指令 ;2、循环语句包括 while、for、do while;3、while 语句和 do…while 语句的区别:while 语句是先判断后执行,do…while 语句是先执行,至少会执行一次。
2023-03-08 17:20:49
1183
原创 C语言——字符串、打印字符串的三种方式
1、字符串是一个或多个字符的序列,空字符(\0) 标记字符串的结束;2、字符串用 %s 转换说明来处理字符串的输入和输出;3、输入和输出必须给出字符串的首地址,可以直接是字符串常量字符数组名,或者字符指针变量名;4、scanf() 输入数据时,要注意函数在读到空格、制表符或换行符就会停止
2023-03-07 10:20:55
24772
原创 C语言——转义字符、刷新输出
1、转义字符常量只代表一个字符;2、\ddd:ddd 表示跟 1~3 位八进制数,最大为'\377';3、\xhh:hh 表示跟 1~2 位十六进制数,最大为'\xFF';4、刷新输出:最初,printf() 语句把输出发送到一个叫做缓冲区
2023-03-06 12:53:11
849
原创 C语言——浮点型数据的存储
float存储:S(1)+E(8)+M(23);(-1)^S * M * 2^E;E是无符号整数,存储 E 时加中间数127(32位)变为二进制;保存 M 时,只保存 小数部分,后面补 0
2023-03-04 13:05:49
864
1
原创 C语言——基本数据类型(整型、字符型、浮点型)
整数类型(int、short、long、long long、unsigned、char) 和 浮点数类型(float、double、long double)
2023-03-01 12:12:39
2786
原创 C语言——标识符、关键字和变量的声明
标识符由字母(大小写)、数字和下划线三种元素构成;关键字是C语言的词汇;声明为变量创建和标记存储空间,并为其指定初始值
2023-02-28 22:08:36
1501
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人