// 滑动窗口 时间复杂度O(N) func minSubArrayLen(s int, nums []int) int { n := len(nums) // l,r为左右边界指针 l, r := 0, 0 // 窗口的和 sum := 0 // 返回结果 res := math.MaxInt64 ...
分类:
编程语言 时间:
2020-06-28 09:45:39
阅读次数:
52
从变量名开始看,一步步往外分析。 1. 定义了一个变量 ,前面的 表示 是一个指针,指向什么?指向一个 类型的数据。 2. 从变量名看,定义了一个变量 。注意, 的优先级比 高,所以 是一个数组。数组的每个元素是什么类型?前面的 表示每个元素都是指针。指向什么?指向一个 类型的数据。 3. 从变量名 ...
分类:
编程语言 时间:
2020-04-23 19:00:13
阅读次数:
63
嵌入式编程中,如何使用复杂指针?1.说明在C语言编程中,指针是最容易出错的地方,尤其是在很多指针同时出现的时候,看的眼花缭乱的,本文从嵌入式中常用的复杂角度进行分析,彻底搞清楚C语言中的容易弄错的指针使用问题。2.函数指针与指针函数在C语言中,函数是有他的地址,同理,函数有也有他的地址,如果如果我们把函数的地址赋值给函数指针,那么我们就可以间接的通过函数指针调用函数地址了。函数指针的定义如下:数据
分类:
其他好文 时间:
2020-04-17 15:46:59
阅读次数:
75
1.说明 在C语言编程中,指针是最容易出错的地方,尤其是在很多指针同时出现的时候,看的眼花缭乱的,本文从嵌入式中常用的复杂角度进行分析,彻底搞清楚C语言中的容易弄错的指针使用问题。 2.函数指针与指针函数 在C语言中,函数是有他的地址,同理,函数有也有他的地址,如果如果我们把函数的地址赋值给函数指针 ...
分类:
其他好文 时间:
2020-04-17 15:39:50
阅读次数:
54
一、复杂指针定义 1、简单指针 -> 指向基本数据类型 char int long.. 复杂指针 -> 指向非基本数据类型 指针/数组/函数/结构体 2、二级指针? 指向指针的指针。 int a; int *pa = &a; pa就是一级指针 int **p = &pa; p就是二级指针 3、数组指 ...
分类:
其他好文 时间:
2019-07-11 20:10:01
阅读次数:
122
(一)栈和队列的基本性质 栈是先进后出的 队列是先进先出的 栈和队列在实现结构上可以有数组和链表两种形式 数组结构实现较容易 用链表结构较复杂,因为牵扯很多指针操作 数组结构实现较容易 用链表结构较复杂,因为牵扯很多指针操作 (二)队列和栈的基本操作 pop操作(栈尾弹出一个元素) push操作(栈 ...
分类:
编程语言 时间:
2018-12-14 23:01:41
阅读次数:
269
转自https://www.cnblogs.com/big_sky/archive/2010/02/04/1663890.html 右左法则是一个既著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。 C标准的声明规则,是用来解决如何创建声明的,而右左 ...
分类:
其他好文 时间:
2018-11-18 20:28:50
阅读次数:
105
右左法则 首先从最里面的圆括号看起,然后往右看,再往左看,每当遇到圆括号时,就应该调转阅读方向,一旦解析完圆括号里面的所有东西,就跳出圆括号,重复这个过程直到整个声明解析完毕。 举例:int * (* (*fun) (int *)) [10] 首先,fun是一个指针,因为他先跟*(绿色色)结合。fu ...
分类:
其他好文 时间:
2018-07-22 21:38:38
阅读次数:
147
因为C语言所有复杂的指针声明,都是由各种声明嵌套构成的。如何解读复杂指针声明呢?右左法则是一个既 著名又常用的方法。不过,右左法则其实并不是C标准里面的内容,它是从C标准的声明规定中归纳出来的方法。C标准的声明规则,是用来解决如何创建声明的, 而右左法则是用来解决如何辩识一个声明的,两者可以说是相反 ...
分类:
其他好文 时间:
2017-04-04 14:10:02
阅读次数:
208
在《C陷阱与缺陷》第二章第一节中有这样一个声明: (*(void(*)())0)(); 看到这样的表达式估计让不少人都“不寒而栗”了吧,其实虽然看起来复杂,但是构造这类表达式其实只有一条简单的规则:按照使用的方式来声明。 首先先介绍一个著名的解析法则:右左法则:首先从圆括号起,然后向右看,然后向左看 ...
分类:
编程语言 时间:
2016-07-20 21:06:28
阅读次数:
185