为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:
}

输出

串行监视器输出如下所示 -

如你所见,即使我们超过了预留的内存,也没有出现任何后果,因为有足够的可用内存。此函数仅有助于为字符串预留一些内存,以便我们不会在运行时面临短缺,特别是在执行繁重代码时。

更新日期: 29-五月-2021

723次浏览

开始你的职业生涯

通过完成课程来获取认证

开始
广告
© . All rights reserved.