![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
勿忘心安-bymyself
人生中遇到的每个人,或多或少都会影响你一生的轨迹
展开
-
循环嵌套性能优化
转载:http://cgs1999.iteye.com/blog/15966711、案例描述某日,在JavaEye上看到一道面试题,题目是这样的:请对以下的代码进行优化[java] view plain copy print?for (int i = 0; i 1000; i++) for (int j = 0; j 1转载 2017-08-18 23:32:50 · 407 阅读 · 0 评论 -
交换变量的方法,不使用第3变量
通常我们的做法是(尤其是在学习阶段):定义一个新的变量,借助它完成交换。代码如下:int a,b;a=10; b=15;int t;t=a; a=b; b=t;这种算法易于理解,特别适合帮助初学者了解计算机程序的特点,是赋值语句的经典应用。在实际软件开发当中,此算法简单明了,不会产生歧义,便于程序员之间的交流,一般情况下碰到交换变量值的问题,都应采用此算法(以下称为标准算法)。转载 2017-08-18 23:01:19 · 327 阅读 · 0 评论 -
8大经典排序算法
一、快速排序1. 简单介绍 快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(n log n)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(n log n) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来,且在大部分真实世界的数据,可以决定设计的选择,减少原创 2017-08-11 19:05:52 · 460 阅读 · 0 评论 -
C语言实现itoa
在工作中发现,stdlib.h文件中只有atoi函数,没有itoa函数,这里自己实现1个:char *itoa(int val, char *buf, unsigned radix){ char *p; char *firstdig; char temp; unsigned digva原创 2017-10-19 17:12:05 · 927 阅读 · 0 评论 -
C语言实现printf函数
#include #include #include "stdarg.h"typedef unsigned char uint8_t;typedef unsigned short int uint16_t;typedef unsigned int uint32_t;void myprintf(const char * format, .原创 2017-10-15 22:08:49 · 905 阅读 · 0 评论 -
KEIL5 忽略警告设置
有时候我们需要在Keil中忽略掉某一个具体的warnning,怎么做呢?如下图:只需在Misc Control中添加 “--diag_suppress=” 就可以了, num就是Keil中的警告代码,把警告内容贴到百度搜索一下就可以知道警告代码是多少了,比如今天的工程中就需要忽略..\..\..\..\src\drivers\gpio\gpio.h(169): warning转载 2017-10-15 22:31:56 · 14113 阅读 · 0 评论 -
const int *a与int *const a,const int *const a的区别
关键问题点:const 属于修饰符 ,关键是看const 修饰的位置在那里1、const int *a这里const 修饰的是int,而int定义的是一个整值因此*a 所指向的对象 值 不能通过 *a 来修改,但是 可以重新给 a 来赋值,使其指向不同的对象eg: const int *a = 0; const int b = 1;转载 2017-11-23 15:28:19 · 956 阅读 · 0 评论 -
代码段、data区、bss段、堆、栈,概念
代码区:存在flash上用来存放代码和常量数据区:数据区包括data段和bss段data段:存放有初始值的变量bss段:存放没有初始值的变量堆:用于动态申请内存空间(malloc)一般向上增长栈:用于存放局部变量一般向下增长具有后进先出的特点原创 2018-03-23 10:50:31 · 1644 阅读 · 2 评论