Передача массива в качестве аргумента функции
Пожалуйста, помогите, как это сделать.
int myArray1[] = {10, 11, 12};
int myArray2[] = {15, 16, 17};
void setup() {
Serial.begin(9600);
}
void loop() {
myFunction(myArray1); delay(1000); // я хочу использовать вот так
}
void myFunction(int callArray) {
for (int a = 0; a < 3; a++) {
Serial.print(callArray[a]); Serial.print(" ");
}
Serial.println();
}
@Ariv Nidunami, 👍0
2 ответа
▲ 0
Один из способов — объявить размер в определении функции
int myArray1[] = {10, 11, 12};
int myArray2[] = {15, 16, 17};
void setup() {
Serial.begin(9600);
}
void loop() {
myFunction(myArray1); delay(1000); // я хочу использовать вот так
}
void myFunction(int callArray[3]) {
for (int a = 0; a < 3; a++) {
Serial.print(callArray[a]); Serial.print(" ");
}
Serial.println();
}
,
@Rohit Gupta
▲ 2
Добавьте звёздочку к определению функции myFunction. Это скомпилирует:
int myArray1[] = {10, 11, 12};
int myArray2[] = {15, 16, 17};
void setup() {
Serial.begin(9600);
}
void loop() {
myFunction(myArray1); delay(1000); // я хочу использовать вот так
}
void myFunction(int * callArray) {
for (int a = 0; a < 3; a++) {
Serial.print(callArray[a]); Serial.print(" ");
}
Serial.println();
}
,
@Nick Gammon
Смотрите также:
- Замена нескольких выводов pinMode() и digitalWrite() на массив
- Работает ли конструкция int array[100] = {0} на Arduino?
- Массив динамического размера в качестве члена класса
- Итерация массива объектов
- Как получить размер (sizeof) массива структур
- Работает с gcc, но не с Arduino. ошибка: taking address of temporary array
- Безопасно ли использовать std::array (из C++ STL) на Arduino? Использует ли он динамическое выделение памяти?
- Есть ли ограничения на размер массива в Arduino Mega 2560?