自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 2021-03-28

new和malloc的区别是C/C++一道经典的面试题,我也遇到过几次,回答的都不是很好,今天特意整理了一下。0. 属性new/delete是C++关键字,需要编译器支持。malloc/free是库函数,需要头文件支持。1. 参数使用new操作符申请内存分配时无须指定内存块的大小,编译器会根据类型信息自行计算。而malloc则需要显式地指出所需内存的尺寸。2. 返回类型new操作符内存分配成功时,返回的是对象类型的指针,类型严格与对象匹配,无须进行类型转换,故

2021-03-28 10:20:10 99

原创 2021-03-28

sizeof()是运算符,在头文件的类型为unsigned int,其运算值在编译时就计算好了,参数可以是指针、数组、类型、对象和函数等; strlen()是函数,要在运行时才能计算。参数必须是字符型指针(char)。当数组名作为参数传入时,实际上数组就退化为指针了。该函数完成的功能是从代表该字符串的第一个地址开始遍历的,直到遇到结束符NULL。返回的长度大小不包括NULL。 举个例子:*char str[20] = “0123456789”;int a = strlen(str);int b

2021-03-28 10:16:07 124

原创 C语言之联合体

C语言之联合体联合union是一个能在同一个存储空间存储不同类型数据的类型联合体所占的内存长度等于其最长成员的长度,也有叫做共用体联合体虽然可以有多个成员,但同一时间只能存放其中一种对于联合体来讲最基本的原则是,一次只操作一个成员变量,如果这个变量是指针,那么一定是处理完指针对应的内存之后再来使用其他成员联合体,就是将几种数据类型联合起来的一种数据结构,但是它们共用一个空间。怎么理解呢?川剧变脸见过没,就是来来回回的变来变去,给人看的眼花缭乱的,但是不管你怎么变,面具下的脸却始终不.

2021-01-27 14:32:33 708

原创 C/C++ 中 volatile 关键字

C/C++ 中 volatile 关键字C/C++ 中的 volatile 关键字和 const 对应,用来修饰变量。volatile 关键字是一种类型修饰符,用它声明的类型变量表示可以被某些编译器未知的因素更改,比如:操作系统、硬件或者其它线程等。遇到这个关键字声明的变量,编译器对访问该变量的代码就不再进行优化,从而可以提供对特殊地址的稳定访问。声明时语法:volatile int i=10;当要求使用 volatile 声明的变量的值的时候,系统总是重新从它所在的内存读取数据,即使它前面的

2021-01-27 14:23:50 660

原创 c  inline noinline

inline这个关键字用于函数声明,表示这个函数的内联的,编译器在编译时会对这种函数进行优化noinline用来通知编译器不要内联这个函数。首先我们先来了解一下函数的内联以及编译的机制。内联函数:在计算机科学中,内联函数(有时称作在线函数或编译时期展开函数)是一种编程语言结构,用来建议编译器对一些特殊函数进行内联扩展(有时称作在线扩展)。内联含函数比一般函数在前面多一个inline修饰符。内联函数是直接复制“镶嵌”到主函数中去的,就是将内联函数的代码直接放在内联函数...

2021-01-06 11:57:26 1115

转载 QSPI

QSPI是Queued SPI的简写,是Motorola公司推出的SPI接口的扩展,比SPI应用更加广泛。在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,推出了队列串行外围接口协议(即QSPI协议)。QSPI是一种专用的通信接口,连接单、双或四(条数据线)SPI Flash存储介质。该接口可以在以下三种模式下工作:①间接模式:使用QSPI寄存器执行全部操作②状态轮询模式:周期性读取外部Flash状态寄存器,而且标志位置1时会产生中断(如擦除...

2021-01-06 11:11:39 3924 1

原创 sbc,aac,aptx,ldac蓝牙编码简单介绍。

先转载一部分通用的知识众所周知,蓝牙耳机的音频解码主要分为sbc,aac,aptx,ldac,Ihac等几种。下面是简单的介绍。、、1、sbc是通用的最基本的解码方式,蓝牙耳机都支持,支持44khz/16bit的音频,最高码率是328kbps,延时大约220ms,所以音质一般。2、aac是苹果产品通用的解码方式,跟sbc差不多,支持44khz/16bit的音频,最高码率512kbps,延时大约100ms,音质略好于sbc。3、aptx是高通的专利,支持48khz/16bit的音频,最高码率352kb

2021-01-06 11:07:21 29307 6

原创 c语言位操作简单笔记

运算符 描述 实例 & 按位与操作,按二进制位进行"与"运算。运算规则: 0&0=0; 0&1=0; 1&0=0; 1&1=1; (A & B) 将得到 12,即为 0000 1100 | 按位或运算符,按二进制位进行"或"运算。运算规则: 0|0=0; 0|1=1; 1|0=1; 1|1=1; (A | B) 将得到 6

2021-01-05 11:08:14 72

原创 C语言变量声明内存分配与寄存器

C语言变量声明内存分配与寄存器一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) — 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—编译器编译时即分配内存。全局变量和静态变量的存储是放

2021-01-05 10:53:33 1934 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除