![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C
__Forever__
Coder;
算法爱好者;
数学建模爱好者;
研究生期间软件硬件都做,-_-||
热爱交朋友,探讨程序世界的美妙;
目前工作从事C,C++,Linux;
邮箱:Fugangli@foxmail.com,欢迎骚扰!
展开
-
《C缺陷与陷阱》阅读笔记
《C缺陷与陷阱》第一章 词法“陷阱”1.编译器会将程序分解为一个一个符号的部分,这个步骤称为**“词法分析器”**。2.= 不同于 ==,在下面的代码中,容易进入死循环了:while (c = '' || c == '\t' || c =='\n') { c = getc(f);} 像这种错误,有的编译器会提示程序员,但是有的不会。这样就很容易埋下坑了。3.&和| 不等于 &&和||4.整型常量:如果一个整型常量的第一原创 2020-10-07 13:30:23 · 274 阅读 · 0 评论 -
寻找大数组中位数问题(一)
前言之前在面试的时候,面试官非常喜欢问:你好,请问在一个很大的数组中怎样快速地找出它的中位数?当时很迷惑,为什么面试官总喜欢找中位数?后来了解到快速排序算法的思想后,发现如果大概知道待排序数组中位数的大小(或者提前找出中位数),将在数量级上提高快速排序算法的效率,这个后面有空再讲。如果你想先把数组排序,在找出中间那一个,那就。。。。大家看到算法一定立刻想到时间复杂度和空间复杂度,这是基本的思维方式。我这里提供两个方法,方法一提供代码,可以现场给面试官手撕代码(这就直接发offer了);方法二提原创 2020-05-10 12:09:56 · 2740 阅读 · 0 评论 -
经典算法之(常见)排序算法的比较
1.前言排序算法算是算法中的重中之重,也是面试和工作中的最常用的算法之一。现在我们就来结合例子,一个个分析各大算法的特点。选择一个算法,其实主要是根据待排序的数据特征来选的,一般是在时间复杂度、空间复杂度和算法稳定性之间做取舍。1.1 冒泡排序1.1.2 改进后的冒泡排序1.2 快速排序1.2.2快速排序算法的改进1.3 插入排序1.4 希尔排序1.5 选择排序1.6 堆排序1.7 归并排序4 举例对比各个算法的效率2.各个算法比较算法时间复杂度空间复杂度稳定性原创 2020-05-09 16:11:21 · 356 阅读 · 2 评论 -
C语言strtok()函数详解
函数原型char *strtok(char *str, char const *sep);第一次调用strtok函数时,这个函数将忽略间距分隔符并返回指向在str字符串找到的第一个符号的指针,丢掉分隔符sep,添加NULL字符结尾(可以理解为用NULL替换了sep).通过调用一系列的strtok函数,更多的符号将从str字符串中分离出来.每次调用strtok函数时,都将通过在找到的符号后插...原创 2020-05-01 17:58:29 · 8379 阅读 · 1 评论 -
C语言strspn()函数详解
函数的原型为size_t strspn(char const *str, char const *grouo);前言今天在看书的时候看到strspn()这个函数,对其中的中文描述没有看懂。确实,中文容易出现歧义,再加上自己的理解能力不好,真的没看懂。《C与指针》书上关于strspn()的中文描述:strspn返回str起始部分group中任意字符的字符数。(看了几遍没看懂!!!)st...原创 2020-05-01 16:12:18 · 10019 阅读 · 7 评论 -
C语言register的用法和浅析
在C语言中,register算是不太难的一个关键字。用register声明的变量是寄存器变量,是存放在CPU的寄存器里的。而我们平时声明的变量是存放在内存中的。虽说内存的速度已经很快了,不过跟寄存器比起来还是差得远。寄存器变量和普通变量比起来速度上的差异很大,毕竟CPU的速度远远大于内存的速度。寄存器有这么两个特点,一个是运算速度快,一个是不能取地址。学过C的都应该知道每一个变量...原创 2020-04-27 21:51:10 · 17263 阅读 · 0 评论 -
C语言malloc初始化问题
前言博主在刷Leetcode的时候经常头疼的是数组初始化问题。尤其是最近,经常会遇到数组访问溢出的问题。大意就是说访问数组下标越界了,简直头疼得不得了。今天就结合例子来总结一下:## 1374. 生成每种字符都是奇数个的字符串假如我们这样的话:(注意看malloc那一行代码)char * generateTheString(int n){ //if(n == 0) re...原创 2020-04-27 17:52:25 · 5185 阅读 · 3 评论 -
数组相关知识学习总结(及malloc与memset初始化问题)(C语言)
数组前言:由于疫情的影响,放假放了三个多月,也开开心心玩了三个多月,也算是入职前的一次大的嗨皮吧。从今天起,开始慢慢更新啦,不为别的,只求记录学习经历与交朋友。下面是《C和指针》第八章的内容总结,加上一些自己的思考。举例ps: 可能看这个图片比较麻烦,举个小小例子来说吧,数组初始化。这道题是Leetcode上一道简单的字符串题目。char * freqAlphabets(char ...原创 2020-04-27 15:45:51 · 556 阅读 · 0 评论