编程语言
weixin_43313697
这个作者很懒,什么都没留下…
展开
-
apktool.bat 无法下载的解决方案
创建一个apktool.bat的空文件把下面的代码复制进去@echo offsetlocalset BASENAME=apktool_chcp 65001 2>nul >nul set java_exe=java.exe if defined JAVA_HOME (set java_exe="%JAVA_HOME%\bin\java.exe") rem Find the highest version .jar available in the sa转载 2021-02-12 11:16:22 · 1732 阅读 · 1 评论 -
关于C语言中的左移与右移
总结**1. 左移时总是移位和补零,无论是有符号类型数据还是无符号类型数据都统称为逻辑左移。2. 右移时无符号数是移位和补零,此时称为逻辑右移;3. 右移时而有符号数大多数情况下是移位和补最左边的位(也就是补最高有效位),移几位就补几位,此时称为算术右移。**1、双目运算符位移位运算符是将数据看成二进制数,对其进行向左或向右移动若干位的运算。位移位运算符分为左移和右移两种,均为双目运算符。例如: 8 >> 3 (意思是8向右移动3位)第一运算对象是移位对象,第二个运算对转载 2020-09-22 13:42:19 · 12369 阅读 · 0 评论 -
sizeof和strlen区别
最近在看c++,想计算输入字符串的长度时用的是sizeof(point)/sizeof(char) - 1 ;但是结果总是固定的3,后来我换成strlen()就可以了,于是百度了一下sizeof和strlen的区别strlen计算字符串的长度,以’\0’为字符串结束标志sizeof是分配的数组实际所占的内存空间大小,不受里面存储内容例如char *str = “1111111abcd”;...原创 2019-08-20 21:44:02 · 130 阅读 · 0 评论 -
memset()函数及其作用
memset()函数原型是extern void *memset(void *buffer, int c, int count) buffer:为指针或是数组,c:是赋给buffer的值,count:是buffer的长度.这个函数在socket中多用于清空数组.如:原型是memset(buffer, 0, sizeof(buffer))Memset 用来对一段内存空...转载 2019-08-20 21:17:38 · 105 阅读 · 0 评论 -
解析c的声明语句
在继续探索c指针之前,有必要来解析下c语言中复杂的声明语法。只需要记住两则:一个原则,一个规则。原则:先看标示符。规则:运算符优先级是规则。举例说明1.最简单的 int array[3];结论:array是数组,数组规模是3,元素类型是int。解析过程:先看标示符:array,只有一个运算符[],那么array就是数组,元素类型是int,完了。2.难一点的(1)数组指针 int(...转载 2019-07-14 18:12:00 · 344 阅读 · 0 评论 -
数组名和数组名取地址的区别
以下代码会打印出什么样的日志呢?#include <stdio.h>int a[2] = {1,2};int main(){printf(“a = %p\n”, a); // Iprintf("&a = %p\n", &a); // IIprintf(“a + 1 = %p\n”, a + 1);// IIIprintf("&a + 1 = %p\...转载 2019-07-14 18:02:29 · 483 阅读 · 0 评论 -
关于数组和指针的一道例题的解读
#include <stdio.h>int main(int argc, char *argv[]){ int a[3]={1,2,3}; int (*pa)[3];// *pa=a; //错误,因为pa没有被赋值,怎么取值,语法错误。 pa=&a; //正确,&a为指向数组的地址,和pa类型匹配 printf("*pa=%p\n...转载 2019-07-14 17:50:10 · 140 阅读 · 0 评论 -
C语言中的 (void*)0 与 (void)0
前几天看到一个宏, 它大概是这样的: #define assert_param(expr) ((expr) ? (void)0 : assert_failed((u8 *)FILE, LINE))代码的含意简单, 关键是那个 (void)0 的用法, 我还是第一次见到(别笑).我用 void 的时候, 有两种情况: 1.放到函数前面, 强调函数没有返回值, 也就是说函数不能作右...转载 2019-07-14 17:32:24 · 215 阅读 · 0 评论 -
C语言中的二维数组
1.二维数组的定义和引用一. 数据类型 数组名[常量表达式1][常量表达式2];(1)假如有个二维数组array[n][m],则行下标的取值范围0~n-1(2)列下标的取值范围0~m-1(3)二维数组的最大下标元素是array[n-1][m-1];假如有一个数组array[3][4];则其下标变量为 array[0][0],array[0][1],array[0][2],array[0]...转载 2019-06-29 10:42:29 · 1035 阅读 · 0 评论 -
二维数据的定义、初始化和赋值
数组可以看作是一行连续的数据,只有一个下标,称为一维数组。在实际问题中有很多数据是二维的或多维的,因此C语言允许构造多维数组。多维数组元素有多个下标,以确定它在数组中的位置。本节只介绍二维数组,多维数组可由二维数组类推而得到。二维数组的定义二维数组定义的一般形式是:dataType arrayName[length1][length2];其中,dataType 为数据类型,arrayNam...转载 2019-06-29 10:39:56 · 1955 阅读 · 0 评论 -
STM32中 关于液晶字符 表示字节数的计算规律
https://blog.csdn.net/qq_16435149/article/details/78614861PCtolcd2002提字库的字节计算方法原子程序里有字库字节的计算公式,如下u8 csize=(size/8+((size%8)?1:0))*(size/2);在使用PCtolcd2002字库提取软件提取字库时,是如图从第一列开始向下每取8个点作为一个字节,最后向下不足...转载 2019-06-28 16:52:08 · 819 阅读 · 0 评论 -
assert与嵌入式c语言调试开关
在调试程序时,经常会用到assert和printf之类的函数,我最近做的这个工程里就有几百个assert,在你自认为程序已经没有bug的时候,就要除去这些调试代码,应为系统在正常运行时这些用于调试的信息是无用的,而且会占用时间和空间。怎么删除呢,俺以前都是用笨方法,一个一个注释,能用注释也是经过改进的方法,俺最早都是删掉之后出了问题再重新写的,但是这次几百个一个一个删除的话可是要了俺的小命了,一首...转载 2019-06-28 10:18:39 · 430 阅读 · 0 评论