📅  最后修改于: 2020-12-27 09:41:06             🧑  作者: Mango
字符串是一种存储文本而不是整数值的数据类型。它类似于Arduino中的其他数据类型,例如整数,浮点数等。
字符串是一个字符数组或一组字符,由ASCII表中的数字,空格和特殊字符组成。
可以通过以下方式声明该字符串:
我们还可以添加一个明确的空字符
我们还可以为字符串常量StrA声明一个带有额外空间的数组。
数据类型为char 。每个字符都是字符串的一个元素。例如, Arduino包含七个字符。因此,我们需要声明一个大小至少为8的数组(额外增加1个值以将null字符存储在字符串的末尾)。
考虑以下示例:
char myString[len] = "text";
上面声明的字符串将存储为:
当我们使用双引号(例如上面指定的单词“ text ”)创建字符串,编译器会自动从每个字符创建一个元素。它还将空字符附加到末尾。
空字符在ASCII表中的值为0 。它使用两个字符(\和\ 0)定义。反斜杠(\)表示特殊字符与其他字符一起使用时。反斜杠也称为转义字符。编译器添加了null字符以终止字符串。
注意:字符串始终在双引号内声明,而字符始终在单引号内声明。
有趣的是,知道print()和println()函数如何与字符串。
开始吧。
让我们通过一个编码示例来理解。
const int length = 20;
char myString[length] = "Hello Arduino";
// we can also specify as char myString[20] = "Hello Arduino";
void setup()
{
Serial.begin(9600);
}
void loop()
{
for( int i=0; i
该代码将多次printHello Arduino ,如下所示:
对于println()函数,我们不需要要求任何for循环或条件即可print。
这是一种print字符串的简便方法。
println()函数将与上述函数相同。
考虑下面的例子。
const int length = 15;
char myString[length] = "Hello Arduino";
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.println(myString);
delay(500);
}
输出:
输出将与上面相同。
我们可以在处理大型项目(例如LCD显示器等)时指定字符串数组。
数组名称也被视为指针。标有星号的数据类型定义为指针。
例如,char *。要定义一个数组数组,我们实际上需要指针。
让我们看一个例子。
考虑下面的代码:
char *StrAB[] = {"Welcome to string A to G in Arduino", "Here is string A", "Here is string B", "Here is string C", "Here is string D", "Here is string E",
"Here is string F", "Here is string G" };
void setup() {
Serial.begin(9600);
}
void loop() {
for (int i = 0; i < 8; i++)
{
Serial.println(StrAB[i]);
delay(1000);
}
}
输出: