刷新
卧槽!C 语言宏定义原来可以玩出这些花样?高手必看!

博主头像 大家好啊!我是小康。 今天我们来聊一个听起来枯燥但实际上暗藏玄机的话题 —— C 语言的宏定义。 啥?宏定义?那不就是个简单的替换工具吗? 兄dei,如果你也是这么想的,那可就大错特错了!宏定义在 C 语言里简直就是个变形金刚,看似普通,实则暗藏神通。今天我们就来扒一扒这个表面 low 穿地心但实则 ...

学嵌入式C语言,看这一篇就够了(7)

博主头像 C语言数组 变量其实就是在程序中由内核申请的一块内存,只不过为了方便用户访问,允许用户对这块内存进行命名,这样内核就可以把内存地址和变量名称建立映射关系,所以用户可以直接通过名称访问变量 但是如果打算存储多个数据,需要定义多个变量,并且需要为每个变量进行命名,实现起来比较麻烦 数组的概念 数组就是数 ...

学嵌入式C语言,看这一篇就够了(6)

博主头像 C语言的语句和块 C语言标准中一共提供6种语句 注意:C语言中的语句要指明执行的操作,并且没有特殊情况,语句是按照顺序执行的 一般把实现某些功能的语句整合在一起,构成一个语法单元,C语言标准的语法单元也被称为块,也被称为块语句 复合语句 复合语句可以限制语句的作用范围,但是一般情况复合语句很少单独使 ...

排序

排序总结 1. 冒泡排序 算法思想:冒泡排序是一种基于交换的简单排序算法,其核心思想是通过重复遍历待排序序列,逐对比较相邻元素并调整顺序,使较大(或较小)的元素逐渐“浮”到序列末端。 //冒泡排序 指的是相邻元素两两之间进行比较交换,需要比较n轮,每轮需要比较m次,从左向右升序 void Bubbl ...

BST二叉查找树

二叉查找树的创建以及初始化 二叉查找树节点插入 二叉查找树的节点数、深度、叶子节点数(递归) 二叉查找树的先、中、后序遍历 ...

用两个栈实现一个队列

用两个栈实现一个队列 栈的特性:后进先出,只能在一端进栈和出栈 队列的特性:先进先出,只能在一端进行入队,在另一端出队 //队列:先进先出 栈:后进先出 利用栈s1和s2实现队列,可以选择把栈s1作为入队缓存,把栈s2作为出队缓存 /* 1.s1未满 s2未满 可以入栈 2.s1已满 s2空 可以入 ...

栈-实现十进制转换十六进制、括号匹配

栈-实现十进制转换十六进制、括号匹配 设计一个进制转换程序,使用顺序栈设计一个把十进制数转换为十六进制数的接口,实现当通过键盘输入一个非负的十进制数,可以在终端输出对应的十六进制数。 通过键盘输入一个包括 '(' 和 ')' 的字符串string ,判断字符串是否有效。要求设计算法实现检查字符串是否 ...

学嵌入式C语言,看这一篇就够了(5)

博主头像 C语言的运算符 学习编程语言,应该遵循“字-->词-->句-->段 >章”,对于一条有意义的语句而言,是离不开标点符号的 运算符指明要进行的运算和操作,操作数是指运算符的操作对象,根据运算符操作数的数目不同,C语言标准把运算符分为三种:单目运算符(一元运算符)、双目运算符(二元运算符)、三目运算符( ...

学嵌入式C语言,看这一篇就够了(4)

博主头像 C语言的输入输出 C语言标准在发布的同时,ANSI组织同时也一起发布了和C语言相关的函数库,也就是标准C库,标准C库集成了很多的API函数接口,比如常用的输入和输出函数就是标准C库提供的 用户如果打算使用标准C库的函数,就必须要包含函数库对应的头文件,比如输入输出函数对应的头文件就叫做stdio.h ...

链表-删除倒数第k个节点

链表功能的实现-删除倒数第k个节点 (1)基本设计思想: 使用双指针法。初始化两个指针p和q,均指向头结点的下一个结点。首先让q指针先移动k-1次,若在此过程中q变为空,则说明链表长度不足k,返回0。否则,同时移动p和q,直到q为空。此时p指向的结点即为倒数第k个结点。 (2)详细实现步骤 初始化f ...

顺序表的实现

顺序表的实现 顺序表功能 顺序表初始化 顺序表插入元素 顺序表删除元素 顺序表查找元素 /***************************************************** * file name:sequencelist.c * author :zzlyx1239@126. ...

C语言标准库中的缓冲机制

博主头像 什么是缓冲区 缓存区是内存空间的一部分,再内存中,内存空间会预留一定的存储空间,这些存储空间是用来缓冲输入和输出的数据,预留的这部分空间就叫做缓冲区。 其中缓冲区还会根据对应的是输入设备还是输出设备分为输入缓冲区和输出缓冲区。 为什么需要缓冲? 直接操作硬件(如屏幕、磁盘)的I/O操作非常耗时。就好 ...

指针基础

指针 指针 指针是计算机编程中一个重要的概念,它是一种特殊的数据类型,用于存储变量的内存地址。简单来说,指针指向了一个变量在计算机内存中的存储位置。 每个变量在内存中都有一个地址,在编程中,通过定义指针变量,我们可以存储一个变量的地址,这就使得我们可以通过间接的方式操作和修改变量,而不需要访问原始的 ...

leetcode第二题

题目描述: class Solution { public: ListNode给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 ...

C语言中while与for的区别

博主头像 在 C 语言中,while 循环和 for 循环都用于实现循环结构,它们有相似的功能,但在语法、使用场景等方面存在一些区别,下面为你详细介绍: 语法结构 while 循环:while 循环先判断条件表达式的值,如果条件为真(非零),则执行循环体中的语句,执行完循环体后,再次判断条件表达式的值,如此反 ...

入门数据结构的心得1(单链表篇)

博主头像 目前正在学习数据结构,刚刚学到单链表,写了一份简单的代码,自己来缕缕思路。 先上题: 就是一个很简单的用单链表实现多项式加减。 首先当然是先用结构体定义节点 1.首先当然是先用结构体定义节点,一个多项式它既然是由额两个元素组成嘛,就是前面的系数和后面的指数,那么我们的节点 自然需要开三个域对吧, ...

学嵌入式C语言,看这一篇就够了(3)

博主头像 C语言的基本元素 我们通过写一篇文章的方式来类比写一段程序,从而认识一下C语言有哪些基本元素: 一篇文章 --> 若干段落 --> 几条语句 --> 几组词(单词 + 语句)--> 若干个字 一段程序 --> 若干函数 --> 几组语句 --> 表达式 --> 标识符 --> 字符 自然语言 字 词 ...

学嵌入式C语言,看这一篇就够了(2)

博主头像 基本概念 程序框架分析 搭建一个主体框架,包含头文件、程序入口、输出函数、程序结束 #include <stdio.h> int main(void) { //输出字符串hello world并且进行换行 printf(“hello world\n”); return 0; } 注意:在学习编程语言 ...

学嵌入式C语言,看这一篇就够了(1)

博主头像 嵌入式技术知识结构 语言的基本概念 什么是语言 语言是人类进行沟通和交流的工具 语言是一套具有共有规则的指令,指令可以通过文字、嗅觉、触觉等方式传递 xx of xx --> A of B --> B 的 A 语言的目的 语言的目的就是为了实现人类之间的交流,当出现计算机之后,人类需要传递指令给计算 ...

123···9>