
C语言
文章平均质量分 54
小笔记
奇妙-
小笔记
展开
-
STM32CubeIDE中 FLASH溢出报错: region `FLASH‘ overflowed by XXXX bytes
Release编译结果不携带调试信息,Debug携带调试信息所以使用Release编译生成的目标文件会比Debug生成的目标文件小,实测可节省百分之25左右的空间。解决办法:点击锤子图标然后选择Release编译。原创 2024-04-27 10:28:58 · 911 阅读 · 0 评论 -
【C语言】常用的字符串函数使用 && 模拟实现
在使用下面介绍的库函数时声明以下头文件。原创 2023-06-27 21:07:40 · 593 阅读 · 4 评论 -
【数据存储概念】大端存储&&小端存储
本文采用整形来举列子说明大端存储和小端存储的区别及原理特别注意:大小端模式是指字节序的大小端模式,当一个数据的所占的内存大于一个字节时,就会按照大端或小端顺序存储。数据存放内存中其实存放的是补码。如 int temp = 0x1122 在内存中存储内容如下我们可以看到对于temp存储的是补码,但是我们发现顺序是数据的低位保存在内存的低地址中,而数据的高位,,保存在内存的高地址中。原创 2023-06-25 10:38:37 · 1607 阅读 · 14 评论 -
C语言中 strlen 和 sizeof 的用法及区别
C语言中 strlen 和 sizeof 的用法及区别原创 2022-09-18 21:21:30 · 467 阅读 · 1 评论 -
简述.c文件是怎样变成.exe文件的 其中包括源文件的预编译 编译 汇编 及链接
2.1 预编译 1:完成所以#define替换及删除 2 :处理所以预编译指令,比如#if , #ifdef ,#endef等 3:处理“#include"预编译指令,将被包含的文件插入到该预编译指令的位置。注意,这个过程是递归进行的,也就是说被包含的文件可能还包含其他文件。4:删除所有的注释“//”和“/**/”。 5:添加行号和文件名标识,比如#2“hello.c"2,以便于编译时编译器产生调试用的行号信息及原创 2022-12-25 21:49:50 · 322 阅读 · 1 评论 -
【240行拿下】基于C语言 实现通讯录管理系统 带文件保存及读取功能
1 将所以联系人信息保存至文件中,程序接收到关闭指令后,自动保存数据至文件中再执行关闭2 将文件中所以联系人信息读入程序,程序运行第一步自动将上次程序结束时的数据读入数组中,上次使用时保存的联系人及信息均存在。3 新建联系人4 按名字查找联系人5 按名字删除联系人6 按名字排序7 将所以联系人打印至屏幕C语言 数组 实现通讯录管理系统 带文件保存及读取功能原创 2022-12-11 18:07:30 · 3220 阅读 · 5 评论 -
实际问题带你了解C语言枚举
如果不给枚举元素赋值,那枚举会给自己的元素赋初始值从0开始并呈递增关系 枚举定义出来的是常量,并且一次可定义多个常量,如果需要多个有序常量那枚举比较方便枚举的定义和结构体大致相同,只是枚举类型用 enum 来定义,BB是枚举类型名(可自己取名);原创 2022-11-24 16:40:07 · 537 阅读 · 9 评论 -
模拟实现strcat,用函数实现strcat及strcat的原理
strcat是字符串追加函数,括号中可给定两个参数,其中参数destination要追加的目标地址,而参数二source是用于追加的源地址,C语言 不使用strcat函数实现连接两个字符串功能代码总结:strcat是将其函数中参数二的内容追加到参数一字符串后方原创 2022-11-17 11:33:57 · 651 阅读 · 1 评论 -
C语言编程题S=1-1/3+1/5-1/7+…+1/(2n+1)
S=1-1/3+1/5-1/7+…+1/(2n+1)根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0原创 2022-11-17 10:18:52 · 3085 阅读 · 0 评论 -
数组的使用及冒泡排序
数组在创建时需指定数组大小[ ] 中的值就是数组大小,下图arr[10]表示这个数组有10个元素数组在创建的时候如果不指定数组确定的大小,数组会根据初始化元素个数来确定。arr1 [ ]初始化元素有四个,分别是1,2,3,4。所以这个数组实际上是arr1[4];原创 2022-10-19 21:00:15 · 261 阅读 · 0 评论 -
什么是递归函数 用递归函数求字符串长度
递归函数是用来解决简单的重复问题,递归函数是直接或间接调用自身来解决问题的一种函数。 2:特点是只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量原创 2022-10-19 20:16:19 · 764 阅读 · 0 评论 -
函数调用过程中应注意什么以及 传值 调用 和 传址 调用的区别
传址调用是把变量的内存地址传递给函数参数的一种调用函数的方式。这种传参方式可以让函数和其它函数的变量建立起真正的联系,也就是函数内部可以直接操作函数外部的变量。可以通过传过来地址,改变地址中所存的值(数据)原创 2022-10-10 15:57:50 · 495 阅读 · 0 评论 -
怎样 调用函数和“自定义函数 ”以及 函数传参中的 形参 和 实参 的区别
虽然C语言本身给我们提供了很多现成库函数,虽然多但他们不是万能的。如果库函数能干所有的事情,那还要程序员干什么?原创 2022-10-10 15:21:51 · 963 阅读 · 0 评论 -
循环语句中 break 和 continue 的使用,while for switch循环中如何跳出循环 中断循环
上图只演示了while,实际上不管是哪种循环,一旦在循环过程中遇到break,程序将完全结束循环体,开始执行循环之后的代码。continue语句并没有使整个循环终止,只是结束本轮循环原创 2022-10-04 22:38:28 · 3194 阅读 · 0 评论 -
goto语句
goto语句几乎没有限制可以随意嵌套在程序中,goto语句由于出入口比较随意可能会导致滥用。不够谨慎时使得程序结构遭到的破坏原创 2022-10-04 21:58:14 · 2536 阅读 · 1 评论 -
C语言中 循环语句 while for do while的使用 循环语句的嵌套使用 猜数字游戏的实现
如下图while 语句基本结构是 while后面加一个表达式,如果表达式为真则执行循环语句do while 语句特点是先执行后判断(至少执行一次),与其他循环语句主要区别;当程序运行到do 时,先执行 循环语句中的内容 ,然后再进行表达式的判断,如果为真将继续循环,为假则结束循环。原创 2022-09-29 20:47:17 · 1624 阅读 · 0 评论 -
分支 语句if 及 switch语句的使用方法 C语言中的判断语句
分支语句是一种 选择 语句:列如下面如果j > 100 成立,走 Y 路线 , 否则走 N 路线case是没有结束功能的,他只作为入口开始执行程序,像case 6没有break 他会由自己至下方执行程序直至遇到break,或者执行完这个switch语句。但上图中执行完输出休息日后遇到了break,所以结束了。if 和 else 的用法如下图default 在switch 语句中相当于 if语句中的 else,在 switch 中如果 各case的条件都不满足则执行 default;原创 2022-09-28 12:56:50 · 690 阅读 · 1 评论 -
利用结构体的内存对齐规则 计算结构体在程序中所占内存的大小
所含三个类型均一致只是排序不同。但所占内存却不一样,要知道为什么我们就需要了解结构体的内存对齐规则。最后所占大小还要取决于结构体中最大数据类型的整数倍,在上面最大的数据类型为int(4字节),最后一个元素 i 从4字节开始放置至7结束。0~7字节占了8个字节,刚好是最大的数据类型int(4字节)的倍数所以sizeof(ddc) = 8;原创 2022-09-20 00:12:30 · 139 阅读 · 1 评论 -
原,反,补码在计算机中是如何存储的 他们之间的关系又如何
计算机中存的是补码,运算用的也是补码。咱写出来的二进制加上符号位是原码,原码符号位不变其他按位取反得到反码,反码加一得到补码;三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位是二进制原创 2022-08-10 15:51:58 · 343 阅读 · 0 评论