- 博客(20)
- 收藏
- 关注
原创 C语言基础—文件I/O
文件基础概念文件定义存储在外存储器(磁盘、U盘、移动硬盘等)上的数据集合,是操作系统管理数据的基本单位。文件操作核心文件内容的读取(输入操作Input文件内容的写入(输出操作Output文件缓冲机制系统为文件在内存中创建缓冲区(通常4KB大小)程序操作实际上是在缓冲区进行数据像水流一样流动,称为文件流缓冲机制减少了直接访问外存的次数,提高效率文件分类1.文本文件(ASCII文件)以ASCII码形式存储可直接用文本编辑器查看示例:.txt.c.h。
2025-04-16 11:25:12
410
原创 C语言基础—预处理与库文件
预处理就是在源文件(.c文件)编译之前,所进行的一部分预备操作,这部分操作是由预处理程序自动完成。当源文件在编译时,编译器会自动调用预处理程序来完成预处理执行的操作,预处理执行解析完成才能进入下一步的编译过程。gcc 源文件 -E -o 程序名[.后缀]不带参数的定义#define 宏名称 常量数据宏定义的预处理机制:此时的预处理只做数据替换,不做类型检查注意:宏定义不会占用内存空间,因为在编译前已经将宏名替换成了常量数据宏展开:在预编译将宏名替换成字符串的过程称之为“宏展开”。
2025-04-05 10:57:48
1207
原创 C语言基础—构造类型
structunionenum定义:自定义数据类型的一种,关键字struct,结构体类型的变量可以存储多个不同数据类型的数据。语法:struct 结构体名 //定义数据类型名字数据类型1 成员名称1;数据类型2 成员名称2;...注意:结构体中定义的变量,称之为成员变量结构体名:合法的标识符,建议首字母大写(所谓的结构体名,就是自定义类型的类型名称)数据类型n:C语言支持的所有类型(包括函数,函数在这里用函数指针表示)成员名称n:合法的标识符,就是变量的命名标准数据类型n成员名称n。
2025-03-28 20:24:24
942
原创 C语言基础—常量指针与指针常量、二级指针、动态内存分部
①二级制指针与指针数组等效,可简化指针数组的遍历操作。int(*)[3]),与二级指针int**类型不兼容。③操作非字符型二级指针时,须通过两次解引用访问实际数据。main函数有多种定义格式,main函数也是函数,函数相关的结论对main函数也有效。main(){} 等价 int main(){}int main(void){} 等价 void main(){}void main(void){} 等价 void main(){}....类型语法指向可变数据可变常量指针√×。
2025-03-26 21:34:10
1067
原创 C语言基础—函数指针与指针函数
本质上是函数,这个函数的返回值类型是指针,这个函数称之为指针函数。返回值类型 *变量名 (形参列表)函数体;return 指针变量;return b;int main()注意:在函数中不要直接返回一个局部变量的地址,因为函数调用完毕后,局部变量会被回收,使得返回的地址就不明确,此时返回的指针就是野指针。解决方案:如果非要访问,可以给这个局部变量添加static可以延长它的生命周期,从而避免野指针(尽量少用,因为内存泄漏)最后复习一下二维数组访问方式。
2025-03-24 21:20:38
684
原创 C语言基础—指针变量与变量指针
数据类型* 变量列表;注意:指针变量的值只能是8/12位的十六进制整数。注意:①虽然定义指针变量*a,是在变量名前加上,但是实际变量名依然为a②使用指针变量间接访问内存数据时,指针变量必须要明确的指向。③如果想要借助指针变量间接访问指针变量保存的内存地址上的数据,可以使用指针变量前加来间接返回访问。指针变量前加,如果不带数据类型,就称之为对指针变量解引用。④指针变量只能指向同类型的变量,借助指针变量访问内存,一次访问的内存大小是取决于指针变量的类型。
2025-03-21 20:54:22
1379
原创 C语言基础(函数)
返回类型] 函数名([形参列表]) -- 函数头 | 函数首部函数体语句;-- 函数体,整个{}包裹的内容包括返回值都属于函数体,{}不能省略函数头:返回类型:函数返回值的类型函数名:函数的名称,遵循标识符命名(不能以数字开头,只能包含字母、数字、下划线,建议:小写+下划线命名,举例:show_all())形参列表:用于接收主调函数传递的数据,如果有多个参数,使用“,”分隔,且每一个形参都需要指明类型。小贴士:形参列表(被调函数):主调函数给被调函数传递数据,主调函数 → 被调函数。
2025-03-19 21:35:34
1141
原创 C语言基础(字符串的相关操作)
C语言中字符串本身是没有地方存放的,在字符数组中能够将其表示出来解释:①这里的字符串,可以是字符串常量,也可以是字符数组或者字符指针。②这里需要将字符串2拼接到字符串1中,所以需要字符串1有足够大的空间去容纳字符串2。注意:①字符串1必须是字符数组,长度必须足够大,以便于能够容纳被链接的字符串。
2025-03-18 10:42:14
496
原创 C语言基础(一维数组、二维数组)
二维数组本质上是一个行列式组合,也就是说二维数组由行和列两部分组成。属于多维数组。二维数组数据通过行列进行解读。
2025-03-17 20:06:36
2182
原创 C语言基础(分支结构)
根据某个条件成立与否,决定是否执行指定的操作。条件判断的结果是逻辑值(布尔类型值,也就是说分支语句条件可以使用关系表达式和逻辑表达式),在程序中可用0和1表示真假1真0假①C语言中,条件表达式支持任意类型的表达式,也就是支持关系、逻辑、赋值、算术等表达式,但实质上有意义的表达式只有关系表达式和逻辑表达式。②C语言中,条件表达式中,可非0表示真,用0表示假,但是底层是使用0和1表示真假。
2025-03-16 11:17:49
2116
原创 C语言基础(流程控制)
广义的说,为解决一个问题而采取的方法和有限的步骤,就称为“算法”C程序是以函数为基础单位的一个函数的执行部分是由若干条语句构成的。C语句都是用来完成一定的操作任务。C语句必须依赖于函数存在。
2025-03-15 19:25:44
1088
原创 C语言基础(运算符的分类)
、-:正负值运算符(单目/一元运算符:只有一个运算符),例如:+5,-5+、-、*、/、%:加减乘除取余运算符(双目/二元运算符:有两个运算数),注意:进行除法运算的时候,除数不能为0这些算术运算符的运算顺序与数学上的运算顺序是相同。*、/、%+、-
2025-03-08 17:19:50
789
原创 C语言基础(变量、基本数据类型、运算符)
在程序运行过程中值可变的量,成为变量。变量代表内存中(栈内存)具有特定属性的一个存储单元,它是用来存储数据的,也就是存放变量的值。变量应该有一个名字,以便于通过名字访问变量。命名规则:以字母或下划线开头,后面跟字母、数字、下划线。不能与关键字(如:int,if)或预定义标识符(如:printf)重名。
2025-03-06 20:38:28
2134
原创 学习C语言基础的第一天都了解了什么内容
编辑:编写源代码(.c文件,程序员完成)编译:将源代码转换为可执行文件(编译器完成)运行:执行程序(操作系统加载)数据类型其实就是固定大小内存的别名,并且描述了一个变量存放什么类型的数据。简单来说,就是组织和操作数据。数据:计算机要处理的数据(数字、字符串、文字、符号、图片、音频、视频等)数据类型不仅帮助我们组织和操作数据,还决定了程序如何有效的利用内存了解数据类型的内存需求是理解计算机管理和操作数据的关键。
2025-03-04 20:49:42
998
原创 Vim编译器
1.命令模式:用户输入vim时当做指令处理,一般通过vim打开文件进入的时候,就处于这个模式。2.系统命令行输入vim 待编辑文件,启动vim的同时打开待编译的文件(推荐):移动光标到当前行的行尾(列尾),一般可以使用shift+$(命令模式下)注意:vim打开一个文件,如果文件不存在,就会创建一个新的文件然后再打开。:显示文件名,当前的行号,文件的总行数和文件位置的百分比(末行模式下),从第3行开始拷贝至第14行,然后粘贴到第2行的下一行(末行命令下)说明:默认打开文件后,光标处于文件开头(末行第1列)
2025-03-03 19:47:20
1157
原创 linux中压缩、解压缩与打包操作
说明:Linux压缩文件尾,gz(gzip)格式,只能压缩文件,不能压缩文件夹。关于tar和gzip、bzip2实现混合使用的时候,一定是先打包,再压缩。:递归压缩,用于对文件夹的操作(体现在压缩算法上,并不是生成多个压缩包)gzip和bzip2压缩指令不能混合使用,主要通过压缩文件的扩展名区分。说明:压缩文件尾.bz2的格式,同样这种压缩也不提供打包功能。gzip可以压缩文件夹中的文件,bzip2不可以。③ tar + bzip2:先打包,再压缩。② tar + gzip:先打包,再压缩。
2025-02-28 20:50:29
817
1
原创 今日分享之嵌入式管理层可能用到的一些小知识
sudo] useradd [选项] 用户名 ——> 一般适用于普通用户下使用ROOT权限,并不完全等价于ROOT用户。:GID,指定新用户的标识(唯一标识),如果不指定,系统会自动编号,一般采用自动编号。[sudo] chown [选项] ...[所有者][:组名] 文件或者路径的名字。 ==`-R`:递归指定目录及其子目录中的所有文件==[sudo] chomd [选项] 权限 文件或目录的路径。[sudo] groupmod [选项] 新组名 旧组名。
2025-02-27 19:53:00
301
原创 嵌入式初学者应该学什么?
这是我在初学的时候了解的一些有关Linux的基础指令,这些指令能帮助我在虚拟机中完成最基本的操作。说明:该指令是从文件系统的数据库中查找,新创建的文件还没有在数据库中建立索引,用该指令。说明:是用于创建空目录(文件夹)的命令。说明:查找文件或目录(递归查找),从磁盘(硬盘)查找,精确性高,性能低。说明:将前一个指令执行的结果作为后一个指令执行的条件(了解)说明:搜索文件内容,在文件中查找指定的字符序列(字符串)说明:查看文件的头部内容(默认10行)说明:查看文件的尾部内容(默认10行)
2025-02-26 21:26:57
361
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅