【青鸟飞扬教育】C语言宏定义#define的理解与资料整理!
但是我们利用define来定义数值类型的数据,一般只是用来定义常量,如果要定义一些变量,则可以使用c语言中const这个关键字。我们已经讨论了const这个关键字,我们知道const修饰的数据是有类型的,而define宏定义的数据没有类型。为了安全,我建议你以后在定义一些宏常数的时候用const代替,编译器会给const修饰的只读...
【未来虫教育】C语言丨指针与数组知识点讲解!
在c语言中指针与数组的关系十分密切,通过数组下标所能完成的任何操作通过指针都可以实现。用指针编写的程序要比用数组下标编写的程序执行速度快。inta[10];先定义一个长度为10的数组a,即由10个对象组成的集合,这10个对象存储在相邻的内在区域中,名字分别为a[0]、a[1]...a[9]。a[i]可表示为该数组的...
用C语言开发界面(彩色的按钮)
用C语言开发界面(彩色的按钮)前言用C语言开发界面是非常简单的,今天想用C语言做一个有下拉框的按钮。如何实现呢?正文平时用的开发软件都是别人设计好的,比如VisualStudio,功能很强大,新版本的界面也很炫。最常见的下拉框按钮,比如这个:这个绿色的三角形,和这个黑色的小三角形,是怎么弄出来的,难道还要...
【未来虫教育】C语言位运算符:与、或、异或、取反、左移和右移
C语言提供了6个位操作运算符。这些运算符只能用于整型操作数,即只能用于带符号或无符号的char,short,int与long类型。C语言提供的位运算符列表:运算符含义描述&按位与如果两个相应的二进制位都为1,则该位的结果值为1,否则为0|按位或两个相应的二进制位中只要有一个为1,该位的结果值为1^...
STM32编程中printf函数重定向背后的原理
可以看到,要想在STM32开发中实现printf重定向在操作上很简单。但其背后的原理又是什么?我们知道C语言是不支持函数重定义语法的,如果我们自己在同一作用域下定义2个同名函数编译是必然报错的。为什么我们可以重定义fputc函数而不会和函数库中原有的fputc发生冲突呢?要解释这个问题,就要引入新的概念:“强符号”、“弱符...
单片机开发中的C语言技巧(上)
数组常常也是引起程序不稳定的重要因素,C语言数组的迷惑性与数组下标从0开始密不可分,你可以定义inttest[30],但是你绝不可以使用数组元素test[30],除非你自己明确知道在做什么(www.e993.com)2024年11月11日。2.1.3容易被忽略的break关键字1)不能漏加的breakswitch…case语句可以很方便的实现多分支结构,但要注意在合适的位置添加break...
C语言发展史的点点滴滴
1.4C语言时间线ComputerLanguagesHistoryhttpslevenez/lang/从图中时间线,可以明显的看出C语言的起源以及时间节点。有时候不得不说时势造英雄,在1969~1971年之间著名的操作系统Unix从肯.汤普逊手中诞生,作为一种大型的系统性软件来说,极其需要一种可靠的高级语言的出现(当时的低级语言指的是汇编...
OS开发爱好者福利来了:树莓派上编译C语言,顺便掌握一波硬件知识
该教程使用C语言进行开发,因为C语言能够直接对硬件进行开发。预备知识在开始前,你将需要在FAT文件系统上使用交叉编译器(有关详细信息,请参见00_crosscompiler目录)和带有固件文件的MicroSD卡。每个目录都有一个Makefile.gcc以及Makefile.clang。确保Makefile符号链接根据你自己选择的交叉编...
C语言——打印沙漏问题(PTA习题)
C语言——打印沙漏问题(PTA习题)所谓“沙漏形状”,是指每行输出奇数个符号;各行符号中心对齐;相邻两行符号数差2;符号数先从大到小顺序递减到1,再从小到大顺序递增;首尾符号数相等。给定任意N个符号,不一定能正好组成一个沙漏。要求打印出的沙漏能用掉尽可能多的符号。
单片机C语言的补码解释及运算
1、在计算机系统中,数值一律用补码来表示(存储)。主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。2、补码与原码的转换过程几乎是相同的。