Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Arduino:如何将字符串常量传递到字符数组中?_C_Arduino_Type Conversion - Fatal编程技术网

C Arduino:如何将字符串常量传递到字符数组中?

C Arduino:如何将字符串常量传递到字符数组中?,c,arduino,type-conversion,C,Arduino,Type Conversion,我注意到数据类型为字符串的变量比C字符串使用更多的内存,所以我希望尽可能使用C字符串。然而,当我调用带有C字符串参数的方法时,我遇到了将字符串常量转换为C字符串的问题 这就是我试图做的,但我一直收到一个警告,我正在使用从字符串常量到“char*”的不推荐的转换。如何正确地进行转换 void drawButton(int x, int y, int width, int height, char text[ ]) { // do some stuff } void loop() { dr

我注意到数据类型为字符串的变量比C字符串使用更多的内存,所以我希望尽可能使用C字符串。然而,当我调用带有C字符串参数的方法时,我遇到了将字符串常量转换为C字符串的问题

这就是我试图做的,但我一直收到一个警告,我正在使用从字符串常量到“char*”的不推荐的转换。如何正确地进行转换

void drawButton(int x, int y, int width, int height, char text[ ]) {
  // do some stuff
}

void loop() {
  drawButton(30, 70, 150, 50, "Continue");
}

您应该创建一个char数组变量并将其作为参数传递,或者您可以创建一个方法来转换字符串,最后您可以传递
{'C','o','n','t','i','n','u','e'}
,如果这在C中有效的话。

是否创建一个char变量并在内存中为我创建的每个按钮传递两个变量?这似乎真的浪费了资源。没错,既然你使用C语言,你就可以使用指针了。此外,它是按钮的文本。因此,使用一个全局变量,
char[]buttonContinue
,比使用pass
char[]*buttonContinue
更好。正如我所说,对C语言没有太多的经验。所以你可能必须以不同的方式编写它。1)尝试
char text[]
-->
const char text[]
。也许是
常量
使警告贬值。2) 最好发布警告的确切文本。