02 2024 档案
摘要:在同一个作用域内重复定义一个变量通常会报错。如: #include <stdio.h> int global_var = 10; // 第一次定义全局变量 int main() { int global_var = 20; // 第二次定义全局变量并赋予不同的值 printf("Global var
阅读全文
摘要:1.提示:在输入TRANSPOSE函数时应按照数组公式按Shift+Ctrl+Enter键进行确认输入 2.这里要先选定同样大小的区域然后再这个区域输入TRANSPOSE公式才有效,只选中其中一个单元格输入公式是无法转置的
阅读全文
摘要:for(i=0;i<4;i++) { P0=Seg_Wei[i]; HC573(6); P0=Seg_Duan[i+1]; HC573(7); delayMs(1000); //设1s相当于几个数码管1秒轮播:挨着亮 流水灯一样显示 //所以如果想动态显示就要利用"视觉效应"吧时间设短点 //这样就
阅读全文
摘要:A:我开始设的unsigned char m=5; -请问m-6>等于多少? Q:在这种情况下,无符号字符 m 的值为 5。当计算 m-6 时,由于 m 是无符号字符,所以 5-6 将被解释为模运算。因此,5-6 等于 255(即 UINT_MAX,unsigned char 类型的最大值加1)。
阅读全文
摘要:uchar led34DataIndex=0; P0=led34Data[led34DataIndex++]; HC573(4); delayMs(125); if(led34DataIndex==4)led34DataIndex = 0; //等同于 //P0=led34Data[led34Dat
阅读全文
摘要:逗号运算符是优先级最低的。 通常单目运算符优先级大于双目。三目最小。但需注意,双目运算符中的赋值运算符优先级是最低的。 在C语言中,大部分运算符都是从左向右进行计算的,但是也存在一些自右向左的运算符。其中最常见的自右向左的运算符是赋值运算符 = 和逗号运算符 ,。 赋值运算符 = 是自右向左结合的,
阅读全文
摘要:局部变量存储在内存堆栈,仿真时查看变量会出现not in scope 问题。如下图: 全局变量存储在静态内存中,仿真时查看变量不会出现not in scope 问题。
阅读全文
摘要:extern的使用 在C语言中,extern关键字用于在多个源文件之间声明全局变量、函数或对象,实现模块间的交互和数据共享。即告诉编译器该变量或函数是在其他源文件中定义的,并且可以在当前源文件中使用。而局部函数的作用域限定在其定义所在的作用域内,无法被其他源文件直接访问或调用。因此,extern关键
阅读全文
摘要:用keil写代码最好标准化,比如:显式地使用比较操作符,显式声明各变量,函数等等。尽可能的不使编译器进行对条件判断等等进行优化,从而达到预期效果。具体方案可能因编译器、编译选项和代码结构等因素而异。
阅读全文
摘要:在Keil模块化编程中,每个子模块通常会有自己的.h头文件和.c源文件。这些头文件包含了子模块的函数声明、宏定义和结构体定义等信息,而源文件则包含了子模块的具体实现代码。 当你在`main.c中调用子模块的函数时,通常需要包含对应的子模块的头文件,以便在`main.c中能够正确地使用子模块的函数和定
阅读全文
摘要:头文件被包含的方式 (1)本地文件包含 #include "test.h" 用户自定义的文件用双引号括起来,编译器首先在当前文件所在的目录搜索是否有符合的文件,如果没有再到C++安装目录的include文件夹里去找对应的文件(Vscode中现在可以指定和修改库文件查找路径,Unix和Linux中可以
阅读全文
摘要:#define和#include都是C语言中的预处理指令,“#”表示这是一条预处理命令。 (1)、“define”为宏定义命令,“标识符”为所定义的宏名。 #define是宏定义,例如: #define a 45 这条指令会导致程序所有单独出现的a被替换为45。 (2)、#include是文件包含指
阅读全文
摘要:Wi-Fi 5 3天线测试 荣耀V20的WLAN功能支持Wi-Fi 5(802.11ac)标准,3天线,当时我测试4G卡开热点测速基本:下载速度(60-80mbps,上传速度35Mbps左右) WIFI 4 5 6的区别 所以购买随身WIFI一定要注意是wifi几,有几根天线。否则你无论插什么卡,网
阅读全文