C语言基本语法
文章平均质量分 90
C语言语法分类专栏,深入剖析C语言的核心语法知识。本专栏将详细解读数据类型、运算符、控制流、函数、数组、指针等关键概念,通过实例与讲解相结合的方式,帮助读者全面掌握C语言的编程基础,提升编程能力。适合初学者深入学习和有一定基础的读者查漏补缺。
Joseit
这个作者很懒,什么都没留下…
展开
-
C语言.操作符的基本语法(2)
代码1:变量的定义int x;int y;}p1;//声明类型的同时定义变量p1//定义结构体变量p2//代码2struct Stu//名字int age;//年龄//初始化//指定顺序初始化//代码3int date;//结构体嵌套初始化//结构体嵌套初始化使用方法:结构体变量.成员名即使有了操作符的优先级和结合性,我们写出的表达式依然有可能不能通过操作符的属性确定唯一的计算路径,那这个表达式就是存在潜在风险的,建议不要写出特别复杂的表达式,可拆开写。原创 2024-03-19 23:23:46 · 800 阅读 · 1 评论 -
C语言.数据结构.单链表
C语言数据结构单链表技术博客文章摘要本文深入探讨了C语言中的数据结构——单链表。首先,文章介绍了链表的概念及结构,强调了链表作为一种物理存储结构上非连续、非顺序的存储结构,其数据元素的逻辑顺序是通过链表中的指针链接次序实现的。通过将链表与火车车厢的类比,形象地展示了链表节点之间的独立性和链接关系。接着,文章详细阐述了单链表的实现方法,包括定义链表节点结构体、实现基本的链表操作(如头部插入、删除、尾部插入、删除、查找、在指定位置插入/删除节点等),以及链表的销毁等功能。原创 2024-05-31 14:14:06 · 816 阅读 · 0 评论 -
C语言.自定义类型:联合和枚举
但是编译器只为最大的成员分配足够的内存空间。联合体的特点是所有成员共用一块内存空间。上述的结构其实设计的很简单,用起来也方便,但是结构的设计中包含了所有礼品的各种属性,像结构体一样,联合体也是有一个或多个构成,这些成员可以是不同的类型。因为对于礼品兑换单中的商品来说,只有部分属性信息是常用的。,这样就可以介绍所需的内存空间,一定程度上节省了内存。枚举顾名思义就是⼀⼀列举,把可能的取值⼀⼀列举。{}中的内容是枚举类型的可能取值,也叫。这些数据的表示就可以使用枚举。输出的三个地址一模一样,原创 2024-05-05 09:25:59 · 1043 阅读 · 0 评论 -
C语言.自定义类型:结构体
位段的成员必须是intunsignedint或signedint,在C99中位段成员的类型也可以选择其他类型。位段的成员后面有一个冒号和一个数字。//单位是字节int _b : 3;int _c : 4;A就是一个位段类型。那位段A所占内存空间大小是多少?原创 2024-04-30 22:51:28 · 961 阅读 · 0 评论 -
C语言.指针(4)
只有调用函数的逻辑是有差异的,可以把调用的函数的地址以参数的形式传递过去,使用函数指针接收,函数指针指向什么函数就调用什么函数,这里其实使用的就是。,有一部分代码是重复出现的,其中虽然执行计算的逻辑是区别的,但是。使用回调函数,模拟实现qsort(采用冒泡的排序方式),有没有办法,简化⼀些呢?原创 2024-04-06 13:11:08 · 626 阅读 · 1 评论 -
C语言.指针(5)
计算变量所占内存内存空间大小的,单位是字节,如果操作数是类型的话,计算的是使用类型创建的变量所占内存空间的大小。只关注占用内存空间的大小,不在乎内存存放的是什么数据。是C语言库函数,功能是求字符串长度。字符,直到找到为止,所以可能存在越界查找。之前字符串中字符的个数。中这个地址开始向后,原创 2024-04-11 09:08:55 · 434 阅读 · 1 评论 -
C语言.指针(2)
这里我们使用输出结果:我们发现数组名和数组首元素的地址打印出的结果一摸一样,。这时候有同学会有疑问?数组名如果是数组首元素的地址,那下面的代码怎么理解呢?,如果arr是数组首元素的地址,那输出应该的应该是才对。三个打印结果一摸一样,这时候又纳闷了,那和有啥区别呢?原创 2024-03-30 21:35:37 · 611 阅读 · 1 评论 -
C语言.字符函数与字符串函数
是0,表示没有错误,当我们在使用标准库中的函数的时候发生了某种错误,就会将对应的错误码,存放在。通过返回值来说明是否是小写字母,如果是小写字母就返回非0的整数,如果不是小写字母,则返回。中,而一个错误码的数字是整数很难理解是什么意思,所以每一个错误码都是有对应的错误信息的。C语言中有一系列的函数是专门做字符分类的,也就是一个字符是属于什么类型的字符的。在不同的系统和C语言标准库的实现中都规定了一些错误码,一般是放在。这个头文件中说明的,C语言程序启动的时候就会使用一个全局的变量。是能够判断参数部分的。原创 2024-04-22 21:26:49 · 700 阅读 · 1 评论 -
C语言.数据结构.双向链表
本文详细介绍了如何使用C语言实现一个双向链表数据结构。双向链表相比单向链表提供了更好的功能性和灵活性,允许双向遍历。文章首先阐述了双向链表的基本概念,随后逐步展示了如何定义链表节点结构体,以及如何创建、插入、删除和遍历节点。通过阅读本文,读者将能够全面掌握C语言中双向链表实现的精髓,进而在实际编程中灵活运用,提升数据结构的运用能力和程序的效率。原创 2024-06-06 20:52:48 · 805 阅读 · 0 评论 -
C语言.动态内存管理
栈区(stack):在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。栈区主要存放运行函数而分配的局部变量、函数参数、返回数据、返回地址等。堆区(heap):一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS(操作系统)回收。分配方式类似于链表。数据段(静态区):(static)存放全局变量、静态数据。程序结束后由系统释放。原创 2024-05-16 14:05:08 · 644 阅读 · 0 评论 -
C语言.扫雷游戏
扫雷游戏代码的实现主要基于前面学习的数组和函数,进行一个阶段性的总结。函数的调用、数组传参、VS调试等内容。写体量大的代码时,学会把整体分成几部分来写,好处是:效率高,整体性更好(容易梳理代码);写完一部分时,记得调试一下,确定代码跑起来符合预期时,再继续往下写。在写扫雷的时候,会遇到各种各样的问题,一定要调试。还有就是给自己一些时间来适应。原创 2024-02-09 17:47:40 · 961 阅读 · 1 评论 -
C语言.指针的基本语法(1)
我们知道计算机上CPU(中央处理器)在处理数据的时候,需要的数据是在内存中读取的。处理后的数据也会放回内存中。那我们买电脑的时候,电脑上内存是8G/16G/32G等,那这些内存空间如何高效的管理?其实,每一个内存单元,一个字节空间里面能放,而每个内存单元也都是有一个编号,有了这个内存单元的编号,。在计算机中我们把。原创 2024-03-24 20:51:27 · 708 阅读 · 1 评论 -
C语言.顺序表.通讯录
本文介绍了基于C语言的顺序表实现通讯录的方法。通过构建顺序表数据结构,有效管理联系人信息,包括姓名、电话等。文章详细阐述了通讯录的创建、添加、删除、查找和修改联系人等功能的实现过程,为读者提供了一个简单高效的通讯录管理方案。原创 2024-05-28 23:27:58 · 538 阅读 · 0 评论 -
C语言.数据结构.顺序表
线性表()是个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,。但是在物理结构上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。原创 2024-05-25 20:11:22 · 578 阅读 · 0 评论 -
C语言.VS2022使用调试技巧
bug本意是“昆虫”或“虫子”,现在一般是指在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题,简称程序漏洞。当我们发现程序中存在的问题的时候,那下一步就是找到问题,并修复问题。这个找问题的过程叫称为调试,英文叫debug(消灭bug)的意思。调试一个程序,首先是承认出现了问题,然后通过各种手段去定位问题的位置,可能是逐过程的调试,也可能是隔离和屏蔽代码的方式,找到问题所的位置,然后确定错误产生的原因,再修复代码,重新测试。原创 2024-02-07 18:05:02 · 1095 阅读 · 2 评论 -
C语⾔内存函数
对于重叠的内存,交给。原创 2024-04-24 08:19:28 · 480 阅读 · 0 评论 -
C语言.数据结构.单链表经典算法
技术博客摘要:本博客深入探讨了单链表相关的经典算法题,包括移除链表元素、反转链表、查找链表的中间节点、合并两个有序链表等。同时,我们还解决了环形链表的约瑟夫问题和链表分割等高级问题。通过详细解析和算法实现,读者可以深入理解链表操作的核心原理,并提升解决链表相关问题的能力。这些算法不仅是数据结构课程的基础知识,也是软件工程师解决实际问题的有力工具。掌握它们,将能更高效地处理链表数据,优化程序的性能和稳定性。原创 2024-06-04 15:31:56 · 936 阅读 · 0 评论 -
操作符的基本语法(一)
今天介绍一些与二进制有关的操作符,先了解一下二进制和进制转换的知识。原创 2024-03-16 11:39:10 · 596 阅读 · 1 评论 -
C语言.指针(3)
如果我们将函数的地址存放起来,就得创建函数指针变量,函数指针变量的写法与数组指针非常类似。那要把函数的地址存到一个数组中,那这个数组就叫的函数指针数组,用函数指针的数组如何定义?数组指针变量是用来存放数组地址的,那怎么获得数组的地址呢?确实打印出了地址,所以函数是有地址的,函数名就是函数的地址,当然也可以通过。这里的实参是二维数组,形参也可以写成二维数组的形式,还有其他的写法吗?调试之后,发现 p与 &arr 的类型是完全一致的。指针数组是一种数组,数组中存放的是地址(指针)。是数组,数组的内容是什么呢?原创 2024-04-02 23:19:45 · 826 阅读 · 1 评论 -
C语言.指针(6)
这是上一节指针(5)最后的七道代码题的详解。这七道题目,是对前面五节课关于指针内容回顾的综合题目,难度比较大,耐心一点看,尽量把题目吃透,对以后的数据结构的分析有帮助。原创 2024-04-13 18:22:34 · 2325 阅读 · 0 评论