C++
文章平均质量分 58
persueadream
这个作者很懒,什么都没留下…
展开
-
回调函数实例
/**回调函数就是一个通过函数指针调用的函数。*如果你把函数的指针(地址)作为参数传递给另一个函数,*当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。*/ #include //函数指针定义 typedef void (*pcb)(int x, int y);/* *回调函数 GetCallBackA*/void sum(int x, int y){原创 2017-03-14 09:32:04 · 218 阅读 · 0 评论 -
建立Debug调试日志
参考链接:1 ((sizeof(n)+sizeof(int)-1)&~(sizeof(int)-1)) 2 对C语言中va_list,va_start,va_arg和va_end的一点理解 3 C 库宏 - va_start() 4 vsnprintf函数用法...原创 2018-09-28 11:57:10 · 1130 阅读 · 0 评论 -
C/C++预处理指令#define,#ifdef,#ifndef,#endif…
本文主要记录了C/C++预处理指令,常见的预处理指令如下:#空指令,无任何效果#include包含一个源代码文件#define定义宏#undef取消已定义的宏#if如果给定条件为真,则编译下面代码#ifdef如果宏已经定义,则编译下面代码#ifndef如果宏没有定义,则编译下面代码#elif如果前面的#if给定条件不为真,当前条件为真,则编译下面代码#endif结束一个#if……#else条件编译...转载 2018-02-09 17:54:59 · 236 阅读 · 0 评论 -
extern "C"
首先,__cplusplus是cpp中的自定义宏,定义这个宏的话表示这是一段cpp的代码。举个在cpp程序中常见的代码: #ifdef __cplusplusextern "C " {#endif……………………#ifdef __cplusplus}#endif上面代码的意思:如果编译器在编译cpp文件,那么__cplusplus宏就会被定义;如果是一个c文件在被编译那么__ST...原创 2018-02-09 16:21:18 · 197 阅读 · 0 评论 -
sizeof(struct student)(字节对齐)
字节的对齐原理 一.什么是字节对齐,为什么要对齐?现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某...转载 2018-02-09 15:31:30 · 8259 阅读 · 0 评论 -
C语言结构体和数组的转换
#include #include #define LEN 14#define uint16_t unsigned short int#define uint8_t unsigned char typedef struct{ uint16_t Head; uint8_t SourceID; uint8_t DestinationID; uint8_t Command原创 2017-11-16 23:02:16 · 10879 阅读 · 0 评论 -
数组,指针,结构体的使用
在使用C语言表述一组有特定格式,顺序的数据时,如报文。报文数据,经常会包含不同功能的数据,为了区分顺序和定位数据在报文中的位置,通常我们会采用定义结构体的方式来表示报文,如接收。如果想发送数据时,我们只需要顺序发送,不关心具体位置,此时定义数组较为方便。为了兼顾这两种情况,可以通过合理的使用数组,指针,和结构之间的转换来解决该问题。#include unsigned char a[原创 2017-08-18 16:04:17 · 411 阅读 · 0 评论 -
[C/C++]在头文件中使用static定义变量意味着什么
看到有一位同学在头文件中这么写:1staticconst wchar_t* g_str1 = …2staticconst wchar_t* g_str2 = …这种定义变量的方式我从来没有见过,而且它还能顺利通过编译,于是我很想知道编译器是如何处理这种变量定义的。定义全局变量时使用static,意味着该变量的作用域只限于定义它的源文件中,其转载 2017-06-30 09:21:41 · 445 阅读 · 0 评论 -
C语言实现数据高低位翻转
#include <stdio.h>unsigned short int ReverseBit(unsigned short int data){ //15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 printf("\r\nInput data is: %x\r\n",data); data = (data << 8) | (dat...原创 2019-06-11 16:01:53 · 7023 阅读 · 0 评论