在 Arduino 中为 2D 指针数组赋值
Assigning values to 2D array of pointers in Arduino
我正在做一个arduino项目,我一直在努力寻找一种方法,如何将值分配给2D指针数组(如果我正确的话(。 我有这个数组char* numbers[3][4];
我希望它的长度为 4 个字符 - 用于 4 个数字(如代码(。但请注意,我不能更改声明,只能更改字符串的数量。我尝试使用 strcpy 分配值:
strcpy(*numbers[0], "1234");
strcpy(*numbers[1], "5678");
strcpy(*numbers[2], "9012");
赋值后,数组应用作函数的参数void render_numbers(char** numbers, const int index);
它基本上在给定索引处打印Arduino Serial上的4位代码。 所以我调用了这个函数:
render_numbers(*numbers, 2);
我的职能:
void render_numbers(char** numbers, const int index){
Serial.println(numbers[index]);
}
所以它通过了编译器,但在 Serial 中它只打印不可读的字符(方块、问号等(。
要在 C 中分配字符串数组,请执行以下操作:
const char* numbers[]={"1234","5678","9012"};
要声明字符串数组,每个字符串有 4 个字符:
char numbers[3][4];
所以 数字[1] ==>字符*//指向第一个字符的指针 数字[1][2] ==>字符//字符值
声明指针的 2D 数组
const char* numbers[][] = {{"1234","5678"},{"1234","1111"}};
注意:strcpy 将源字符串复制到目标,包括空术语字符,因此需要 5 个字符来存储 4。
char numbers[3][5];
strcpy(numbers[1],"1234");
Serial.println(numbers[1]);
相关文章:
- 在 Arduino 中为 2D 指针数组赋值
- 我无法为 2D 数组赋值
- 如何在C++中初始化值,然后稍后为uint32_t数组赋值
- 使用 C++ shell 为 C++ 中的 2 D 动态数组赋值,控制台不会打印出任何内容
- 为两个动态数组赋值
- 在类的构造函数中为常量动态大小的数组赋值
- 为结构灵活数组赋值
- 如何在opencv中为三维数组赋值
- 如何从主函数为对象数组赋值
- 数组赋值无法使用指针语法
- C++类中的静态数组赋值
- 多维字符串数组赋值 C++
- 错误:从初始值设定项列表向数组赋值;在ubuntu 1004上工作但在14.04上不工作的代码
- 用于循环数组赋值的C++.正在返回垃圾邮件
- 多维数组赋值
- 无法在c++中为全局数组赋值
- C++程序在为指针的2D数组赋值后崩溃
- 给指针数组赋值
- c++将整型数组赋值给大小相同的空整型数组
- 将数组赋值给派生对象