![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
飞由于度
世界上只有一种英雄主义,就是看清生活的真相之后依然热爱生活。
展开
-
通过网络调试助手连接阿里云
重要的三元组:{ "ProductKey": "a1tN8jvX8cW", "DeviceName": "D001", "DeviceSecret": "a380bb3d7508d216317d97f51a52fe82"}MQTT-TCP连接通信:https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.6.614.63a83d45Pq1vRd服务器地址参见阿里云帮助文档:https://help.a...原创 2021-08-23 10:12:16 · 414 阅读 · 0 评论 -
STM32 使用sprintf 导致死机的一个解决方法
我在使用sprintf 进行字符串格式化处理的时候,一执行到sprintf,STM32就死机(必死),看了很多博客,包括 关于STM32 使用sprintf 死机问题! 关于单片机编程里面调用sprintf死机的解决方法及原因分析 但是都没能解决问题。经过两天的摸索,终于在机缘巧合之下,解决了!解决的原理我没有办法解释,在这里把解决方法写出来供各位参考。问题描述:原代码是为了实现通过MQTT协议连接阿里云,代码有点大,所以我就单门把出错的代码拎出来。 首先我使用C语言在..原创 2021-08-19 10:10:16 · 7178 阅读 · 9 评论 -
C语言位操作:将某一位置1,或将某一位置0
首先,位操作是通过与运算和或运算来实现的,与的特性是:有0为0,全1为1,或的特性是:有1为1,全0为0。也就是,和0与会被清0,和1与会被保持和1或会被置1,和0或会被保持那么位操作的实现就很明确了...原创 2021-05-11 18:05:42 · 16681 阅读 · 0 评论 -
typedef的用法
typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct、union等)。在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的别名,另一个是简化一些比较复杂的类型声明。typedef的使用方法:按定义变量的方式,只是把变量名换成新的类型名,并且在前面加上“typedef”,就声明了新类型名代表原来的类型...原创 2021-04-28 08:28:57 · 699 阅读 · 0 评论 -
C语言中&、&&、|、||
&——按位与运算,口诀:有0为0,全1为1|——按位或运算,口诀:有1为1,全0为0&&——逻辑与运算,整体看做一位二进制,非0为1,||——逻辑或运算与运算:a&0→0→清0a&1→a→保持或运算:a|0→a→清零a|1→1→置1...原创 2021-04-27 16:13:07 · 19477 阅读 · 0 评论 -
C语言中数的二进制、八进制、十进制以及十六进制表示及输出
以十进制数163为例:二进制的英文是Binary,简写为B或BIN,所以163 = 0b10100011(前面加上“0b”或“0B”)八进制的英文是Octal,简写为O或OCT,所以163 = 0243(前面加上数字0,以示与十进制的区别)十进制的英文为Decimal,简写为D或DEC,所以163 = 163(没有前缀)十六进制的英文为Hexadecimal,简写为H或HEX,所以163 = 0xA3(前面加上“0x”或“0X”)win10自带计算器:代码:#include &l原创 2021-04-22 14:45:38 · 20971 阅读 · 0 评论 -
结构体中的数组中的元素
问题:我定义了这么个结构体:// 结构体定义区struct _MODBUS{ u8 SlaveAddr;//从机地址 u8 TxLength; u8 TxIndicator;//发射指示器,指向要发送那一位 u8 TxBuff[0xff];//Slave Address , Function , Coil Address , Force Data , Error Chec...原创 2019-06-21 15:44:42 · 4372 阅读 · 0 评论 -
Python初体验
算术x除以y:x/y取x除以y商的整数:x//y (小数位直接丢掉)取x除以y的余数:x%yx的y次方:x**y 和 pow(x,y)导入模块的两种方法:1、import math 和 2、from math import *相同之处在于:都可以通过math.sqrt()的形式调用,math模块中的函数不同之处在于 :通过方法1导入,调用函数式的形式只能是:...原创 2018-11-20 11:15:52 · 302 阅读 · 0 评论 -
Python字符串处理函数
字符串测试函数 函数名 什么情况下返回True s.endswith(t) s以字符串t结尾 s.startswith(t) s以字符串t打头 s.isalnum() s只包含字母或数字 s.isalpha() s只包含字母 s.isdecimal() s只包含表示十进制数字的字符 s.isdigit() s只包含数字字符 s...原创 2018-11-20 18:01:15 · 805 阅读 · 0 评论 -
指向变量的指针与指向数组的指针有什么区别?
数组名是指针,为什么sizeof(数组名)还是数组的大小数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多程序设计者就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。但这是一种误解。数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;数组名的外延在于其可以转换为指向其指代实体的指针,而且是一个指针常量;指向数...转载 2018-09-28 15:06:20 · 1775 阅读 · 0 评论 -
位域
有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制位...转载 2018-06-29 14:25:16 · 780 阅读 · 0 评论 -
让两个结构体相互包含,如何定义 C?
如果两个结构体互相包含,则需要对其中一个结构体进行不完整声明,如下所示:struct B; //对结构体B进行不完整声明//结构体A中包含指向结构体B的指针struct A{ struct B *partner; //other members;};//结构体B中包含指向结构体A的指针,在A声明完后,B也随之进行声明struct B{ struct ...转载 2018-06-29 13:30:56 · 7513 阅读 · 2 评论 -
sizeof 和 strlen
数组名是指针,为什么sizeof(数组名)还是数组的大小 数组名与指针有太多的相似,甚至很多时候,数组名可以作为指针使用。于是乎,很多人就被搞糊涂了。而许多的大学老师,他们在C语言的教学过程中也错误得给学生讲解:"数组名就是指针"。这种误解的根源在于国内某著名的C程序设计教程(出版量最多的那本书),但不可否认,在入门的时候这样理解起来简单了不少。 数组名的内涵在于其指代实体是一...转载 2018-06-29 15:11:43 · 224 阅读 · 0 评论 -
extern
extern是计算机语言中的一个关键字,可置于变量或者函数前,以表示变量或者函数的定义在别的文件中。提示编译器遇到此变量或函数时,在其它模块中寻找其定义,另外,extern也可用来进行链接指定。声明外部变量现代编译器一般采用按文件编译的方式,因此在编译时,各个文件中定义的全局变量是互相不透明的。也就是说,在编译时,全局变量的可见域限制在文件内部。下面举一个简单的例子:创建一个工程,里面含有A.cp...转载 2018-06-29 15:19:45 · 123 阅读 · 0 评论 -
C语言怎样产生一定范围的随机数
C语言的获取随机数的函数为rand(), 可以获得一个非负整数的随机数。要调用rand需要引用头文件stdlib.h。转载 2018-06-29 15:51:05 · 16264 阅读 · 6 评论 -
C语言里面100UL是什么意思
就是数字100 ,这些后缀的作用是指明数据类型.因为单独写100程序默认的类型是 int, 加上后缀就变成了unsigned long转载 2018-07-03 14:00:48 · 9267 阅读 · 1 评论