为Arduino中的字符串操作预留内存
在程序执行过程中,字符串可能会发生动态长度变化。
如果你想确保始终有足够的内存可用于你的字符串,则可以使用reserve()函数预留一些内存。
语法
String1.reserve(n_bytes);
其中String1 是要预留内存的字符串,n_bytes (无符号整数)是要在内存中预留的字节数。
示例
String s1 = "Hello";
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println();
s1.reserve(20);
s1 = s1+" World!";
Serial.println(s1);
s1 = s1+" I'm now trying to exceed the reserved memory";
Serial.println(s1);
}
void loop() {
// put your main code here, to run repeatedly:
}输出
串行监视器输出如下所示 -

如你所见,即使我们超过了预留的内存,也没有出现任何后果,因为有足够的可用内存。此函数仅有助于为字符串预留一些内存,以便我们不会在运行时面临短缺,特别是在执行繁重代码时。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C编程
C++
C#
MongoDB
MySQL
Javascript
PHP