Code
江东风又起
脚踏实地,做好每一件事
展开
-
内联函数释疑:static inline 和 extern inline 的含义及比较
(今天被内联函数困扰了,转载的一篇文章)前置简短概述引入内联函数的目的是为了解决程序中函数调用的效率问题。 函数是一种更高级的抽象。它的引入使得编程者只关心函数的功能和使用方法,而不必关心函数功能的具体实现;函数的引入可以减少程序的目标代码,实现程序代码和数据的共享。但是,函数调用也会带来降低效率的问题,因为调用函数实际上将程序执行顺序转移到函数所存放在内存中某个地址,将函数的程序内容执行完后,再返转载 2015-08-13 16:16:08 · 970 阅读 · 0 评论 -
C++类初始化顺序
首先是类内成员变量初始化,按照定义顺序(有例外,以后说明),最后才是类的构造函数被执行原创 2016-11-13 14:26:56 · 435 阅读 · 0 评论 -
C/C++中的函数参数传递机制
一、 函数参数传递机制的基本理论 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题。基本的参数传递机制有两种:值传递和引用传递。以下讨论称调用其他函数的函数为主调函数,被调用的函数为被调函数。 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值转载 2017-05-19 14:10:09 · 760 阅读 · 0 评论 -
const char*, char const*, char*const的区别
const char*, char const*, char*const的区别问题几乎是C++面试中每次都会有的题目。 事实上这个概念谁都有,只是三种声明方式非常相似很容易记混。 Bjarne在他的The C++ Programming Language里面给出过一个助记的方法: 把一个声明从右向左读。 char * const cp; ( * 读成 pointer to ) cp is转载 2017-05-19 15:51:30 · 334 阅读 · 0 评论 -
C语言排序算法集锦:选择排序,冒泡排序,插入排序,希尔排序,归并排序,堆排序,快排序
选择排序:第一层遍历每一个数,第二层从当前位置直到末尾,一直寻找比当前数更大(更小)的值,找到则交换对应位置上的数,未找到则退出第二层,继续第一层的遍历。时间复杂度O(N*N)#include<stdio.h> void swap(int *a, int *b){ *a = *a + *b; *b = *a - *b; *a = *a - *b;}void Se原创 2016-11-01 13:31:48 · 847 阅读 · 0 评论 -
反转一个链表
struct node_t={ int num; node_t *next;}node_t* reverse_list(node_t *head){ node_t *n = head; head = NULL; while(n) { node_t *m = n->next; n->next = head;原创 2016-10-18 23:26:44 · 452 阅读 · 0 评论 -
[原创]微信小程序零碎知识整理
微信小程序涉及四种文件:js\json\wxml\wxss 初次接触这些,故而做个学习笔记,以便查阅(本文将持续更新)1. input 控件&amp;amp;amp;amp;amp;amp;amp;lt;input class=&amp;amp;amp;amp;amp;amp;quot;new-quick&amp;amp;amp;amp;amp;amp;quot; value=&amp;amp;amp;amp;amp;amp;quot;{{原创 2018-09-20 10:15:31 · 249 阅读 · 0 评论 -
[转载]C库函数sprintf、vsprintf及\r\n的使用
话说这是第一次见。。。感觉自己太菜了功能C库函数 int vsprintf(char *str,const char *format,va_list arg)使用 参数列表格式化 输出到字符串参数str 指向一个字符串数组的指针format 这是一个字符串,包含了要被写入到字符串str的文本(format可以是包含嵌入的format标签,这些标签可以被随后的附加参数中指定的值替换,并按...转载 2018-12-07 16:43:39 · 2472 阅读 · 0 评论 -
[东拼西凑]GIT Extensions安装与使用
开门见山:自新版本起,GIT Extensions(下称 GitEXT)成为单独的安装文件。而旧版本的exe把需要的插件都包含了,安装起来会方便些。比如GitEXT2.49但是,我这里讲的是新版本安装,自己动手丰衣足食。因此,我们需要自己准备相应的安装文件。以下分别是相应的官网链接:...转载 2018-12-15 21:52:57 · 3268 阅读 · 0 评论 -
[东拼西凑]GO学习记录
比较零散,学到哪,记到哪,只做查阅使用在Golang里,import的作用是导入其他package,在看beego框架时看到了import 下划线。import 下划线,如:import ( "github.com/astaxie/beego/orm" _ "github.com/go-sql-driver/mysql")当导入一个包时,该包下的文件里所有i...转载 2019-04-04 20:32:12 · 182 阅读 · 0 评论 -
[理解]ASCII和Unicode和UTF-8编码问题
在编程当中,多会遇到不同编码导致的乱码问题。这个问题这里记录一下,希望能终结这个问题:(部分来自网络,更多的是自己的理解,所以标题,不是原创而是理解,侵删)ASCII码:老美提出来的,0~127表示不同的英文字母,共7bit多国码:法国俄罗斯等在ASCII的基础上,扩展集合成0~255。即ASCII还是用老美的不动,但是128 ~ 255各个国家定义自己的。Unicode码:显然多国码有点...翻译 2019-04-15 15:04:56 · 208 阅读 · 0 评论 -
[原创]STM32中PWM的设置与使用遇到的问题
不啰嗦,代码先行:情况一mainint main(void){ SystemInit(); NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4); SysInit(); ***}SysInit functionvoid SysInit(){ unsigned char i = 0; //only for PID PWM ...原创 2019-05-21 22:38:43 · 3470 阅读 · 2 评论 -
二维数组与指向数组的指针
先上代码#include<stdio.h>int main(){ int a[2][10] = { {1,2,3,4,5,6,7,8,9,10},{11,12,13,14,15,16,17,18,19,20} }; int(*p)[10] = a; printf("%d\n", **p); printf("%d\n", **(p + 1)); printf(原创 2016-10-31 15:38:59 · 464 阅读 · 0 评论 -
字符串拷贝当中的问题
微软的字符串拷贝:char * cdecl strcpy(char * dst,const char * src){ char *cp = dst; while(*cp++ = *src++); return dst;}执行效率高,但漏洞多 比较完备的字符串拷贝:char * strcpy(char * dst,const char * src){ char原创 2016-10-19 22:07:51 · 634 阅读 · 0 评论 -
单链表基础
建立:#include <iostream>#include <stdio.h>#include <string.h>#include <conio.h>using namespace std;typedef struct student{ int data; struct student *next;}node;node* create(int N){ nod原创 2016-10-19 22:40:12 · 353 阅读 · 0 评论 -
Source Insight教程
设置 Source Insight转载 2015-11-03 18:59:03 · 1453 阅读 · 0 评论 -
“#ifdef __cplusplus extern "C" { #endif”的定义(1)
#ifdef __cplusplus extern “C”#endif”转载 2015-08-13 17:06:33 · 453 阅读 · 0 评论 -
C library function - memset()
C library function - memset()转载 2015-11-25 10:21:00 · 512 阅读 · 0 评论 -
[转载]一篇非常好的博文,C语言提防unsigned
unsigned,unsigned int转载 2015-12-01 11:02:32 · 457 阅读 · 0 评论 -
[转载]深入理解C语言函数指针
函数指针转载 2015-12-01 20:04:02 · 449 阅读 · 0 评论 -
[转载]函数返回值为数组以及数组作为参数传递的问题
函数返回值 数组转载 2016-03-04 16:20:29 · 1042 阅读 · 0 评论 -
C语言中数组与指针辨析
ILOVEZL原创 2016-03-05 10:05:03 · 1577 阅读 · 0 评论 -
数组指针和指针数组以及二维数组的函数间传递与返回
数组指针 指针数组原创 2016-03-05 14:33:51 · 1628 阅读 · 0 评论 -
[转载]数组在内存中的存储方式
数组转载 2016-03-04 16:40:53 · 17117 阅读 · 1 评论 -
C/C++实现FIFO(FIFO满,写失败;FIFO空,读失败
FIFO满,写失败;FIFO空,读失败#include <stdio.h>#define BUFSIZE 10#define FIFOFULL -1#define FIFOEMPTY -2#define RWOK 0typedef struct FifoType { unsigned int buffer[BUFSIZE]; /* Circular b原创 2016-11-06 17:43:09 · 4515 阅读 · 0 评论 -
物理地址与虚拟地址
地址分为两类:逻辑地址->线性地址(虚拟地址)->物理地址。 S3C2410、S3C2440上电之后,是使用物理地址来访问的。数据手册中介绍各种寄存器时,所附带的地址就是物理地址。 虚拟地址是启动内存管理单元(MMU)后CPU使用的地址,它是到物理地址的映射。为什么这样说呢? 虚拟地址、物理地址的概念只有CPU才用到,要访问具体的设备,比如内存、Flash、寄存器等时,虚拟地址最终会转换为物转载 2016-11-07 20:07:22 · 518 阅读 · 0 评论 -
[原创]vscode + ESlint使用
平台Ubuntu1604无法打开root目录切到root用户,shell输入code --user-data-dir无法同时打开多个文件取消勾选enable preview原创 2019-05-17 09:54:14 · 635 阅读 · 0 评论