
大话C语言
文章平均质量分 64
详细介绍嵌入式物联网基础课程之一的C语言,作为一门常青树的编程语言,它依旧活跃在互联网与通信领域的各个行业。随着新能源等新兴行业的崛起,C语言的重要性愈发凸显。因此,掌握C语言成了必备的基础,跟着职创未来的脚本,我们一起迈向美好的明天!
职创未来官方
武汉职创未来科技有限公司简介:1、公司的愿景是成为服务最好的科技教育先驱者。 2、公司的使命是成为顾客心中的科技教育的先驱者与领导者。我们始终关注顾客的期望;通过科技创新,我们积极努力地推动科技在教育中应用落地,让科技教育更好地服务于广大青年群体! 3、公司的价值观是开放、包容、担当、创新
官方微信公众号:CreateManOnTheWay
展开
-
大话C++:第31篇 顺序容器
C++标准模板库(STL)中的容器是用于存储集合数据结构的模板类。容器可以分为几个不同的类别,每种类别都有其特定的用途和特性。顺序容器:存储一序列的元素,可以进行随机访问。vector:可变大小数组,支持快速随机访问。deque(双端队列):双端队列,支持快速的前端和后端插入和删除操作。list:双向链表,支持高效的元素插入和删除操作。关联容器:用于存储键值对,可以快速进行查找、添加和删除操作。set:唯一值的集合,自动排序。map:键值对的集合,键是唯一的,自动排序。multiset:允许有重复值的集合。原创 2025-01-04 12:03:46 · 825 阅读 · 0 评论 -
大话C语言:第46篇 C语言项目工程化之Makefile详解
make是一个命令行工具和构建自动化工具,主要用于管理和构建软件项目。它通过Makefile文件来定义构建任务和依赖关系,并根据这些规则自动执行任务以生成最终的目标文件。Makefile中包含了目标、依赖关系和相应的构建命令。make工具会根据目标和依赖关系来确定构建顺序,并执行构建命令以生成新的目标文件。这使得make能够根据代码的依赖关系自动构建并更新目标文件,从而提高编译效率。make具有依赖管理功能,可以确保任务的正确构建顺序。它支持任务并行执行,并可以在多种操作系统上运行。原创 2024-08-24 13:56:35 · 1085 阅读 · 0 评论 -
大话C语言:第45篇 文件操作
C语言中,使用fopen函数来打开文件。该函数接受两个参数:文件路径和打开模式(如"r"表示只读,"w"表示写入,"a"表示追加等)。如果文件打开成功,fopen返回一个非空的文件指针;否则返回NULL。:C语言提供了多种函数用于文件的读写操作,如fgetcfgets用于从文件中读取字符或字符串,fputcfputs用于向文件中写入字符或字符串。此外,还有fread和fwrite函数用于读写二进制数据。:C语言中的fseek函数用于移动文件位置指针到指定位置,从而实现对文件的定位。原创 2024-08-22 10:34:32 · 1213 阅读 · 0 评论 -
大话C语言:第44篇 文件
文件是计算机操作系统中用于存储数据的一种重要构造。在物理层面,文件通常存储在硬盘、闪存或其他持久性存储介质上。在逻辑层面,文件是由一系列记录(如字符、字节、数据块等)组成的,这些记录按一定的格式和顺序排列,用于存储程序或数据。:每个文件都有一个唯一的名称,用于标识和引用该文件。文件名通常由字母、数字、下划线和特定字符组成,并遵循操作系统规定的命名规则。:文件可以根据其内容或用途进行分类,如文本文件、二进制文件、图像文件、音频文件等。不同的文件类型有不同的存储格式和处理方式。原创 2024-08-22 10:25:46 · 667 阅读 · 0 评论 -
大话C语言:第43篇 结构体的位域
位域是结构体中的一个特殊成员,它允许我们指定该成员所占用的位数,而不是使用完整的字节或更大的单位。这在需要精确控制数据在内存中的布局时特别有用,例如在网络编程或硬件接口编程中。构体中的一个位域字段必须存放在一个存储单元中,不能跨两个单元。如果第一个单元空间不能容纳下一个位段,则该空间不用,而从下一个单元起存放该位段。结构体中的位域字段在赋值时,不要超出位段定义的范围;例如,struct BitFields中的flag1只有一位,取值只能是0或者1。int的位段,位段不能大于32位。原创 2024-08-20 14:51:56 · 380 阅读 · 0 评论 -
大话C语言:第42篇 结构体内存分配原则
每一个元素存入内存时,都会认为内存是以自己的宽度来划分空间的,因此元素存放的位置一定会在自己大小的整数倍上开始。vc6.0和Visual Studio环境下,8字节对齐,即存放double型变量的起始地址,必须是8的倍数,double变量占8字节。在64位系统下,以8字节为单位开辟内存。long int 在32位平台下,4字节对齐 ,即存放long int 型的变量,起始内存单元的编号是4的倍数即可。gcc环境下,4字节对齐,即存放double型变量的起始地址,必须是4的倍数,double变量占8字节。原创 2024-08-20 14:48:31 · 1051 阅读 · 0 评论 -
大话C语言:第41篇 结构体与函数的关系
将结构体的值拷贝一份传递给函数,函数内部对该结构体的修改不会影响到原来的结构体变量。将结构体的地址传递给函数,函数内部可以通过该地址来访问原变量,并对其进行修改。原创 2024-08-15 20:32:32 · 448 阅读 · 0 评论 -
大话C语言:第40篇 结构体指针
结构体指针是C语言中一种特殊的指针类型,它指向一个结构体变量。结构体指针可以用来访问结构体的成员,同时也可以作为函数参数进行传递,以便在函数内部操作结构体的数据。结构体指针的定义方式与定义其他类型的指针类似,只是指针的数据类型是结构体类型。结构体指针访问或者修改结构体成员,原创 2024-08-15 20:29:14 · 387 阅读 · 0 评论 -
大话C语言:第39篇 结构体数组
结构体数组是一种特殊类型的数组,每个数组元素都是一个完整的结构体,包含结构体的所有成员。原创 2024-08-10 11:41:17 · 235 阅读 · 0 评论 -
大话C语言:第38篇 结构体
结构体(struct)是C语言(也适用于C++、C#等语言)中一种重要的数据类型,它允许用户将不同类型的数据组合成一个整体,以便进行统一的管理和操作。结构体中的每个数据成员都称为结构体的成员,可以是任何基本数据类型或复合数据类型。原创 2024-08-10 11:36:19 · 732 阅读 · 0 评论 -
大话C语言:第37篇 联合体
联合体(union),又称为共同体,它是C语言中的一个特性,它允许在相同的内存位置存储不同的数据类型,但每次只能存储其中一种类型的数据。这意味着联合体的所有成员都共享同一段内存空间。联合体的共用体union是一个能在同一个存储空间存储不同类型数据的类型共用体所占的内存长度等于其最长成员的长度,也有叫做共用体同一内存段可以用来存放几种不同类型的成员,但每一瞬时只有一种起作用共用体变量中起作用的成员是最后一次存放的成员,在存入一个新的成员后原有的成员的值会被覆盖。原创 2024-08-07 11:10:40 · 454 阅读 · 0 评论 -
大话C语言:第36篇 枚举
枚举元素本身由系统定义了一个表示序号的数值从0开始顺序定义为0,1,2 …没有特别指定情况下,默认是从0开始编号。如果有指定的话,从该枚举元素开始,之后的元素都是在该元素的基础上,顺序编号。C语言中,枚举(enumeration)是一种用户定义的类型,它包含一组命名的整数值。枚举类型用于表示固定数量的可能值,并为这些值提供易于记忆和有意义的名称。枚举值是常量,不能在程序中用赋值语句再对它赋值。在枚举值表中应列出所有可用值,也称为枚举元素。原创 2024-08-07 11:06:35 · 224 阅读 · 0 评论 -
大话C语言:第35篇 二维指针
二维指针,本质上是一个指向指针的指针,它使得通过一个指针变量就能跳转访问多个内存地址成为可能。二维指针主要用于处理指针的数组或指向指针的指针,特别是在动态创建和操作二维数组时非常有用。二维指针作为函数参数,原创 2024-08-02 17:56:37 · 442 阅读 · 0 评论 -
大话C语言:第34篇 指针与函数的关系
函数指针是一个特殊的指针,它指向某个函数的入口地址,使得程序可以通过该指针变量调用该函数。这意味着函数内部操作的是原始变量的内存地址,因此任何在函数内部对这个地址的修改都会直接影响到原始变量。缺点:由于函数内部可以直接修改原始变量,这可能导致函数外部的变量被意外地改变,从而增加了出错的可能性。上述函数返回了指向局部变量的指针,那么这是非常危险的,因为局部变量在函数返回后其存储空间可能会被覆盖或释放,导致指针指向的内容失效。每个数组元素都是一个指向函数的指针,这些函数具有相同的返回类型和参数列表。原创 2024-08-02 17:52:57 · 715 阅读 · 0 评论 -
大话C语言:第33篇 数组指针
数组指针是一个指针变量,其值是一个数组的首地址,即数组中第一个元素的地址。数组指针与指向单个元素的指针不同,它指向整个数组,并允许通过指针运算来访问数组中的各个元素。:在C语言中,二维数组在内存中是连续存储的,行与行之间紧密排列。通过数组指针,你可以方便地访问二维数组中的元素,而不需要使用嵌套循环。:当你想将一个数组作为参数传递给一个函数时,你通常会传递一个数组指针,而不是整个数组。数组指针的声明通常包括指针的类型和它所指向的数组的类型。其中,指向一维数组的数组指针,其中,指向二维数组的数组指针,原创 2024-07-25 11:52:29 · 539 阅读 · 0 评论 -
大话C语言:第32篇 指针数组
指针数组是一种数组,其每个元素都是一个指针。指针数组是一种特殊的数组,其元素是指针而非实际的数据值。每个指针元素可以指向相同或不同类型的对象,这取决于程序需要。指针数组通常用于存储指向一系列对象的指针,这些对象可以是变量、数组、函数等。原创 2024-07-25 11:47:59 · 447 阅读 · 0 评论 -
大话C语言:第31篇 指针和数组的关系
需要定义一个数组并初始化它。原创 2024-07-13 14:45:14 · 745 阅读 · 0 评论 -
大话C语言:第30篇 指针和变量的关系
通过指针变量间接修改变量的值。指针可以存放变量的地址编号。原创 2024-07-13 14:38:21 · 273 阅读 · 0 评论 -
大话C语言:第29篇 指针
类型 变量;类型 * 指针变量 = &变量;其中,& 叫取地址,返回操作数的内存地*叫解引用,指操作指针所指向的变量的值在定义变量时,* 号表示所声明的变量为指针类型。指针变量要保存某个变量的地址,指针变量的类型比这个变量的类型多一个*在指针使用时,* 号表示操作指针所指向的内存空间注意,指针也是一种数据类型,指针变量也是一种变量指针变量指向谁,就把谁的地址赋值给指针变量int main()// 定义一个int类型的变量,同时赋值为10int a = 10;// 打印变量的地址。原创 2024-07-08 17:25:28 · 565 阅读 · 0 评论 -
大话C语言:第28篇 内存分配与释放
C语言内存分配与释放原创 2024-07-05 15:39:07 · 406 阅读 · 0 评论 -
大话C语言:第27篇 内存模型
C语言程序的内存模型原创 2024-07-05 15:29:26 · 952 阅读 · 0 评论 -
大话C语言:第26篇 静态库
C语言静态库(Static Library)是一种包含一组目标文件的归档文件,这些目标文件通常是由多个C语言源文件编译而成的。静态库在程序编译时被链接到目标程序中,成为程序的一部分,因此在运行时不再需要额外的库文件。原创 2024-07-01 20:56:58 · 788 阅读 · 0 评论 -
大话C语言:第25篇 动态库
C语言动态库(也称为共享库)是在程序运行时被加载到内存中的库文件,它包含了可由多个程序共享的代码和数据。动态库在编译时不会被直接链接到目标程序中,而是在程序运行时动态加载。这种特性使得动态库具有一些优势,如节省磁盘空间、便于更新和维护、以及支持多个程序同时共享库代码。动态库通常以.so(在Linux和类Unix系统中)或.dll(在Windows系统中)作为文件扩展名。创建动态库的过程通常包括编写源代码文件、编译生成目标文件、然后使用特定的编译器选项(如-shared)将这些目标文件链接成动态库文件。原创 2024-06-19 18:16:12 · 625 阅读 · 0 评论 -
大话C语言:第24篇 预处理
C语言的编译流程包括:预编译:将.c 中的头文件展开、宏展开,生成的文件是.i 文件。gcc指令:gcc -E file.c -o file.i编译:将预处理之后的.i 文件生成 .s 汇编文件。gcc指令:gcc -S file.i –o file.s汇编:将.s 汇编文件生成.o 目标文件。gcc指令:gcc -c file.s -o file.o链接:将.o 文件链接成目标文件。原创 2024-06-15 18:08:44 · 1192 阅读 · 0 评论 -
大话C语言:第23篇 字符串常用库函数
【代码】大话C语言:第23篇 字符串常用库函数。原创 2024-06-12 14:00:19 · 357 阅读 · 0 评论 -
大话C语言:第22篇 字符数组
C语言中没有字符串这种数据类型,可以通过char的数组来替代。数字0(和字符 '\0' 等价)结尾的char数组就是一个字符串,字符串是一种特殊的char的数组。原创 2024-06-05 14:24:53 · 358 阅读 · 0 评论 -
大话C语言:第21篇 数组
数组是若干个相同类型的变量在内存中有序存储的集合。原创 2024-06-01 12:41:34 · 988 阅读 · 0 评论 -
大话C语言:第20篇 初识局部和全局变量
C语言全局变量和局部变量原创 2024-05-30 10:40:30 · 171 阅读 · 0 评论 -
大话C语言:第19篇 多文件编程
C语言多文件编程(也称为多模块编程或多文件项目)是一种将大型程序分解为多个较小的、更易于管理的源文件(通常是.c文件)和头文件(通常是.h文件)的方法。每个源文件包含程序的一部分功能,而头文件则用于声明函数、变量和类型,以便其他源文件可以引用它们。这种方法的主要好处是提高代码的可读性、可维护性和可重用性。原创 2024-05-30 10:37:12 · 1457 阅读 · 0 评论 -
大话C语言:第18篇 函数
函数是c语言的功能单位,实现一个功能可以封装一个函数来实现。函数是一种可重用的代码块,用于执行特定任务或完成特定功能。函数主要作用是对具备相同逻辑的代码进行封装,提高代码的编写效率,实现对代码的重用。原创 2024-05-21 16:22:56 · 709 阅读 · 0 评论 -
大话C语言:第17篇 跳转控制关键字
在C语言中,流程跳转控制关键字包括:break、continue、return、goto;其中,goto语言不推荐使用。原创 2024-05-14 19:56:49 · 1344 阅读 · 0 评论 -
大话C语言:第16篇 判断语句
C语言存在三大流程控制,包括:顺序 执行: 从上向下, 顺序执行代码判断 : 根据条件判断, 决定执行代码的分支循环 : 让特定代码重复的执行。原创 2024-05-11 17:14:38 · 560 阅读 · 0 评论 -
大话C语言:第15篇 运算符优先级
分析下面代码执行过程。分析下面代码执行过程。原创 2024-05-10 16:29:39 · 363 阅读 · 0 评论 -
大话C语言:第14篇 运算符之逗号运算符
C语言中,逗号运算符(,)在C语言中是一种二元运算符,它用于连接两个或更多的表达式,并且从左到右计算这些表达式。原创 2024-05-10 16:24:40 · 354 阅读 · 1 评论 -
大话C语言:第13篇 条件运算符
表达式1?表达式 2:表达式 3表达式 1 为真,整个取表达式 2;为假,整个取表达式 3结果必须被使用出现 两个以上?: ,说明有嵌套。自右向左,找 “?” 与它后面最近一个 “:” 配对高于 赋值运算符,低于 算数、逻辑、比较运算符。原创 2024-05-10 16:21:00 · 729 阅读 · 0 评论 -
大话C语言:第12篇 运算符之逻辑运算符
逻辑运算符是用于在布尔逻辑运算中处理二进制位(通常是0和1)的运算符。在计算机编程中,它们用于评估表达式的结果是否满足某些条件。原创 2024-05-08 21:16:43 · 954 阅读 · 0 评论 -
大话C语言:第11篇 运算符之自增减运算符
自增(++)和自减(--)是两种常见的C语言中的运算符,用于将变量的值增加或减少1原创 2024-05-06 21:22:11 · 754 阅读 · 1 评论 -
大话C语言:第10篇 运算符之赋值运算符
赋值运算符是最基本的运算符之一,用于将右侧的值或表达式的计算结果赋给左侧的变量。原创 2024-05-06 20:22:05 · 474 阅读 · 0 评论 -
大话C语言:第9篇 运算符之比较运算符
在C语言中,比较运算符用于比较两个值的大小关系,并根据比较结果返回布尔值(真或假)。这些布尔值通常用于条件语句(如if语句)或循环语句(如while或for循环)中,以控制程序的流程。原创 2024-05-04 11:10:47 · 915 阅读 · 0 评论 -
大话C语言:第8篇 运算符之算术运算符
在C语言中,算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法和取模等。这些运算符可以用于操作整数和浮点数。原创 2024-05-04 11:06:52 · 443 阅读 · 0 评论