- 博客(10)
- 收藏
- 关注
原创 学习笔记:标准c语言8
1、当首次向malloc申请内存时,malloc会向操作系统申请堆内存,操作系统会直接分配33页(1页=4096字节)内存给malloc管理,但这样不意味着可以越界访问,因为malloc可能会把内存分配给"其他人"使用,这样就产生了脏数据。2、每个内存块之间一定会有一些空隙(4~12字节),一部分空隙是为了内存对齐,其中一定有4个字节用于记录malloc的维护信息,如果维护信息被破坏会影响下一次的free的调用。函数指针就是专门指向某种函数的指针,它里面存储的是该函数在代码段中的位置(函数名)
2023-05-11 19:47:26
62
原创 学习笔记:标准c语言7
指针是一种特殊的数据类型,使用它可以定义指针变量,指针变量中存储的是整型数据,该数据代表了内存的编号(地址),可以通过这个编号访问到对应的内存。指针变量有自己的存储空间,它与内存之间是指向关系,如果它存储了数组的首地址时,那么指针可以当做数组使用,同时数组名也可以当做指针使用。数组名是一种特殊的"指针",它与数组在内存中的首地址之间存在映射关系,它没有自己的存储空间,数组名是常量,不能修改它所代表的值。2、指针变量的类型表示它存储的是什么类型变量的地址,它决定了通过该指针变量能够连续访问的字节数。
2023-05-11 19:38:07
50
原创 学习笔记:标准c语言6
字符就是图案或符号,字符在内存中依然存储成整数,需要显示成字符时,操作系统会根据ASCII码表中的对应关系把整数显示成对应的符号或图案。先有的C语言后有的bool类型,C语言中不可能有真正的布尔类型,都是在<stdbool.h>中对布尔类型使用整数进行模拟。特殊特例:当运算对象类型只是 char或者short,且类型不同,编译器会做类型提升,提升为int再运算。unsigned int 4 0~40亿。只有相同类型的数据才能进行运算,如果类型不相同的数据需要先转换成相同的类型才能运算。
2023-05-11 19:31:35
53
原创 学习笔记:标准c语言5
C语言标准委员会以函数形式提供的一些基础功能,都被封装在libc.so库中,并且分在了不同的文件中,需要使用时只要把对应的头文件导入即可(例如stdio.h...),然后通过具体的 函数名(参数) 即可完成调用。随着CPU的位数的不断增加,已经到目前的64位,所以八进制不再能够满足需求,因此发展出现在的十六进制,由于历史原因八进制还不能退出历史舞台。让数据从高位n位开始,数据 - 2^(n-1) ,如果够减,那么第n位为1,否则为0,直到减完为止。函数声明的目的为了告诉其他的调用者,该函数的调用格式。
2023-04-22 21:26:06
49
原创 学习笔记:标准c语言4
特点:在代码编译期间数组的长度是不确定的,当执行到数组的定义语句时长度才最终确定下来,并且一旦确定长度也无法改变。7、如果有初始化数据,则可以省略数组数量,因为编译器会自动统计数据的个数,然后确定数组的数量。缺点:初始化发生在编译期间,而可变长数组长度的确定发生在运行期间,因此可变长数组无法初始化。练习3:定义一个长度为10的数组并初始化,找出数组中第二大的值,不能排序。什么是数组:变量的组合,是一种批量定义相同类型变量的方式。定义数组时,使用变量作为数组的长度,这种数组称为变长数组。
2023-04-22 21:21:45
85
原创 学习笔记:标准c语言3
for循环一般会使用一个变量来引导循环的进行,这个变量叫做该循环的循环变量 i index。在for循环内定义变量,只能在for内使用,出了for后无法使用。[3]、改变循环变量的值,防止出现死循环,一般对循环变量自加或自减。while(条件) // 当条件为真时执行循环体,为假时结束循环。while循环是负责只知道循环结束条件而不确定循环次数的问题。for循环内定义的变量,会屏蔽循环外定义的同名变量。for循环的变化很灵活,但也很危险(相比于其他循环)如果判断为假,那么结束循环,反之继续循环。
2023-04-22 21:18:25
35
原创 学习笔记:标准c语言2
字符就是图案或符号,字符在内存中依然存储成整数,需要显示成字符时,操作系统会根据ASCII码表中的对应关系把整数显示成对应的符号或图案。先有的C语言后有的bool类型,C语言中不可能有真正的布尔类型,都是在<stdbool.h>中对布尔类型使用整数进行模拟。特殊特例:当运算对象类型只是 char或者short,且类型不同,编译器会做类型提升,提升为int再运算。unsigned int 4 0~40亿。只有相同类型的数据才能进行运算,如果类型不相同的数据需要先转换成相同的类型才能运算。
2023-04-22 21:15:54
81
1
原创 学习笔记:标准c语言1
程序员所编写的代码都不是标准的C代码,需要一段程序翻译成标准C代码,负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的语句叫做预处理指令,以#开头的语句都是预处理指令。然后通过很多的头文件对不同功能的标准库函数进行了说明,stdio.h就是其中之一,常用:stdlib.h string.h。main函数是由操作系统调用,所以它的返回值给了操作系统,反应了程序是如何结束的。头文件:以.h结尾,里面存储的是一些辅助性的代码,绝大多数都是函数的声明。main函数遇到return语句程序结束。
2023-04-16 22:16:11
67
原创 学习笔记:Linux系统命令2
程序员所编写的代码都不是标准的C代码,需要一段程序翻译成标准C代码,负责翻译的程序叫做预处理器,翻译的过程叫做预处理,被翻译的语句叫做预处理指令,以#开头的语句都是预处理指令。然后通过很多的头文件对不同功能的标准库函数进行了说明,stdio.h就是其中之一,常用:stdlib.h string.h。C语言是专门为了编写操作系统而诞生的语言,天生适合对硬件编程,以运行速度快而著称,而且C语言非常适合编写数据结构和算法。头文件:以.h结尾,里面存储的是一些辅助性的代码,绝大多数都是函数的声明。
2023-04-08 23:02:36
158
1
原创 学习笔记:Linux系统命令1
管道:相当于一根管子把两个命令连接起来,把cmdA命令的执行结果作为cmdB命令的数据源。windows下默认只测试4次,/t可以连续测试 Ctrl+c退出。cmd > filename 如果文件存在则清空后写入,不存在则新建。cmd >> filename 如果文件存在则追加写入,不存在则新建。cat 把文件的所有内容显示到终端,适合查看内容较少的文件。more 按页显示文件内容,回车下一行,空格下一页,q退出。tar -zcvf 包名 要压缩的目录 -》创建压缩包。
2023-04-08 22:57:10
63
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人