- 博客(24)
- 收藏
- 关注
原创 C语言: 动态内存分配、内存操作
要实现动态内存分配,需要使用标准C库提供的库函数,我们所说的动态内存分配,其实就是在堆区申请内存(此时的内存回收需要程序员自身来维护)
2025-07-31 22:43:28
1050
原创 C语言:函数指针、二级指针、常量指针常量、野指针
二级指针(多重指针)用于储存一级指针的地址,需要两次解引用才能访问原始数据。其他多重指针的用法类似,但实际开发中最常见的指针是二级指针。int a = 10;// a是普通变量,也就是原始数据// 一级指针,p指向a,解引用1次就可以获取a的值// 10// 二级指针,w指向p,解引用2次就可以获取a的值// 10// 三级指针,k指向w,解引用3次就可以获取a的值类型本质内存布局等效性二级指针(int**指向指针的指针指针的指针与指针数组等效指针数组(int*[]
2025-07-30 23:22:56
1040
原创 C语言:指针、数组指针、字符指针
实参与形参都可以是字符数组实参用字符数组,形参用字符指针形参和实参都是字符指针。在函数内部不能对字符串常量中的字符做修改// 0x1000 str依然指向“hello"这个常量空间// 编译错误 不能修改"hello"这个常量空间的数据// 编译错误// 0x2000 此时并没有改变常量空间的数据,只是改变了指针的指向// 0x1000 str指向的"hello"是一个常量空间,常量空间不支持修改// 0x1000实参是字符指针,形参是字符数组。
2025-07-29 20:36:22
1003
原创 C语言:指针、变量指针与指针变量、数组指针与指针数组
*概念:**数组指针是指向数组的指针(指针变量),本质上还是指针。指针变量指向数组元素和数组指针的区别?指针变量指向数组的元素;数组指针指向整个数组① 先有数组,再有指针② 它指向的是一个完整的数组。
2025-07-27 01:36:27
879
原创 C语言:函数变量作用域、指针入门
*概念:**变量在程序运行中的存在时间(内存申请到内存释放的时间)根据变量存在的时间不同,变量可分为静态存储方式和动态存储方式//写法1 数据类型 * 变量列表;//写法2 数据类型 * 变量列表;//普通变量int a;//指针变量int *p1;// 正确//正确int* p4;//正确int* p5,p6;//注意:p6被当作int变量,不是指针注意:指针变量的值只能是8(32位系统)| 12(64位系统)位的十六进制整数。① 虽然定义指针变量*a,是在变量名前加上。
2025-07-27 01:30:33
1016
原创 C语言:函数调用
含义在一个函数中,直接或间接调用了函数本身,称之为递归调用。本质上还是函数的嵌套调用// 直接调用 推荐a() → a();// 间接调用递归调用的本质递归调用是一种循环结构,它不同于我们之前学过的while、for、do…while这样的循环结构,这些循环结构是借助于循环变量;而递归调用是利用函数自身实现循环结构,如果不加以控制,很容易产生死循环。通过一个基准值(pivot)不断拆分数组,直到子数组无法再拆分(即子数组长度为1或0),此时整个数组就有序了。/**
2025-07-24 22:35:19
903
原创 C语言:函数基础
返回类型] 函数名([形参列表]);--函数头|函数首部函数体语句;--函数体 | 整个{}包括的内容,{}不能省略返回类型:函数返回值的类型函数名:函数的名称,遵循标识符命名(不能以数字开头,只能包含大小写字母、下划线、数字。
2025-07-22 19:58:27
920
1
原创 C语言:数组-字符串数组
否则,当前字符非空格,前面字符也非空格,则非新单词,num不变;可以是字符数组名,也可以是指针,也可以是字符串常量,如:strcat(s1,"def");str = "*佳";采用fgets进行字符串输入,可获取所有输入的字符串,包含\n,在实际的字符串处理时,我们可能需要手动处理\n。从键盘录入一个字符串常量到字符数组,返回字符数组的地址(首地址,默认返回的地址,一般用12位16进制数表示)从键盘录入一个字符串常量到字符数组,返回字符数组的地址(首地址,默认返回的地址,一般用12位16进制数表示)
2025-07-21 20:43:04
897
原创 C语言:二维数组
二维数组本质上是一个行列式组合,也就是说二维数组是由行和列两部分组成,属于多维数组。二维数组通过行和列解读(先行后列二维数组可被视为特殊的一维数组,当一个数组中的每个元素是一维数组时,这个数字就是二维数组。
2025-07-20 13:12:25
1100
原创 C语言:数组-一维数组、冒泡排序
定义:数组是相同类型有序数据的集合数据类型 数组名 [ 数组容量 ];注意:数据类型又被叫类型说明符,数组容量又被叫做数组元素个数或者数组的大小长度同一个数组中,所有元素的类型都是一致的。数组名也是标识符,我们所说的数组(名),可以理解为数据类型是数组的变量(名)。命名规则与变量的规则一样,区别是变量使用单数,数组使用复数。数组容量还可以叫做常量表达式。其值必须是整数。C89标准:只支持常量和符号常量,不支持变量。
2025-07-19 01:18:20
594
原创 C语言:break、continue、猜拳游戏
功能:①用在switch中,用来跳出case语句;无break,switch会执行多条语句,case穿透②在循环中(while…,for…,do…while),提前结束循环说明:①break不能用于循环语句和switch语句之外的任何其他语句中②break只能终止并跳出最近的一层循环结构。
2025-07-18 17:00:00
323
原创 C语言:直到型循环(do...while)、猜数字游戏
游戏规则是程序随机生成一个1到100之间的数字,玩家通过输入猜测数字,程序会提示猜测是太大还是太小,直到玩家猜中为止。语句在C语言中是合法的,并且有时可能看起来很方便,但过度使用或不当使用会导致代码质量下降。在实现的时候,我们发现需要同时控制行和列的变化,在编程中,行列式需要通过for双层嵌套实现(**特点:**先执行,后判断,不管条件是否满足,循环体语句至少执行一次。同时发现:每一行显示的列的数量不超过所在行,第1行1列,第2行2列…假定:行用i表示,列用j表示,i和j的关系:j <= i。
2025-07-18 09:04:50
1084
原创 C语言:分支结构(续)
② 若表达式的值与某个常量表达式的值相等时,执行case后面的语句;若没有相等的值时,执行default后面的语句。① switch后括号内的表达式可以是任意类型的表达式,要求结果是整型、字符型。 ①如果表达式1的结果为真,就执行表达式2;else结构中,语句1和语句2都可以是空语句。需求:设计一个简易计算器,要求能够实现简单的减减乘除运算。else结构中的语句1和语句2都可以是复合语句。③ 只要if中包含if,都属于是if语句的嵌套。需求:按照考试成绩的等级输出百分制分数段。
2025-07-14 22:29:20
812
原创 C语言:流程控制(续)、分支结构
① 与输出不同,输入时无论是单双精度浮点型,都不能用m.n来指定输出的宽度和小数点后保留的位数。② 可以指定输入数据所占的列数,系统自动按它截取所需的数据③ 若在%后有一个。
2025-07-14 22:23:12
1158
原创 C语言:运算符、流程控制
广义的来说,为解决一个问题而采取的方法和有限的步骤,就称为“算法”C程序是以函数为基础单位的一个函数的执行部分由若干条语句构成的。C语句都是用来完成一定的操作任务。C语句必须依赖于函数存在。
2025-07-13 16:25:57
640
原创 C语言:计算机基础,C语言基础,数据类型
数据类型是固定大小内存的别名,并且描述了一个变量存放了什么类型的数据。就是组织和操作数据数据:计算机要处理的数据(数字、字符串、文字、符号、图片、音频视频等)数据类型不仅帮助我们组织和操作数据,还决定了程序如何有效地利用内存了解数据类型的内存需求是理解计算机管理和操作数据的关键提示:程序运行需要在内存中。
2025-07-08 20:21:23
814
原创 Linux:Vim编辑器、虚拟机网络、进程指令、磁盘指令
删除(重点)拷贝(重点)粘贴p键:粘贴到光标所在行的下一行(命令模式)P键:粘贴到光标所在行的上一行(命令模式)撤销u键:撤销上一步操作(命令模式)U键:撤销当前行中所有操作(命令模式)Ctrl+r:对撤销进行还原 (命令模式)字符查找(默认忽略大小写)/string:从光标所在处向后查找string字符串, 按n可往下继续查找,按N可往上查找 (末行模式+命令模式)?string:从光标所在处向后查找string字符串, 按N可往下继续查找,按n可往上查找(末行模式+命令模式)
2025-07-07 20:19:14
1075
原创 Linux系统学习:通配符、压缩/解压、Vim文本编辑器
本质上Linux自带的编辑器Vi编辑器(类似于windows记事本),Vim是Vi的增强版。主要 区别:Vi:Linux系统内置的基本文本编辑器Vim:需要额外安装,支持语法高亮、多级撤销、插件系统等增强功能。
2025-07-05 16:10:09
831
原创 Linux系统学习:文件、目录操作,简单语法
Linux本质上就是一个文件系统。Linux文件系统是操作系统组织、存取、保存数据的一种手段。整体采用层级式的倒状目录结构。
2025-07-03 08:46:45
779
原创 Linux系统学习:环境安装,常用快捷键
安装包:wmware17.5.rar链接: https://pan.baidu.com/s/1UlF4BOV9RHmQUHVv0MPVFg 提取码: 1234双击安装包,进行安装,一路选择下一步,注意修改安装路径。当出现“安装向导完成后”不要立即退出,点击“许可证”进行激活。点开解压后的文件选择安装教程与激活,找到密钥,任意输入一个,未成功激活换一个。输入后安装完成。配置Linuxxu系统(ubuntu)安装包:通过网盘分享的文件:ubuntu(标准教学系统).rar。
2025-07-02 20:37:58
486
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人