Я создаю собственное командное приглашение (школьный проект), и я пытаюсь отслеживать последние 10 команд, которые пользователь использует. Таким образом, у меня есть массив:Как передать массив char в функцию в C
char* history[10];
В моем понимании это означает, что у меня есть массив указателей, которые указывают на строки. Моя проблема заключается в том, что у меня есть другая переменная, вход, который является пользователем. Но всякий раз, когда пользователь вводит что-то новое, значение вводит, что означает, что все строки в моем массиве меняются на новый вход пользователя.
Мне интересно, как я могу обойти это?
Я попытался изменить свой массив следующим образом:
char *history[10][MAX] //Where MAX = 256
Где я мог бы использовать вместо зЬгсра, но вместо этого я не мог понять, как ввести массив массивов в метод, а затем использовать STRCPY для скопируйте строку в массив массивов.
Вот мой текущий метод:
char* updateHistory(char *history[], char command[], int histIndex) {
history[histIndex] = command;
return *history;
}
Любая помощь по другому решению, или как получить мое решение работает?
- MAX, представляющий максимальные символы в одной команде? – Pooya
Какой смысл возвращать 'return * history;'? –