0 / 0 / 0
Регистрация: 29.12.2019
Сообщений: 4
|
||||||||||||||||
1 | ||||||||||||||||
Доступ к полю структуры29.12.2019, 10:38. Показов 1979. Ответов 6
Метки нет (Все метки)
Добрый день.
Подскажите пожалуйста как передать в функцию указатель, который является указателем на массив в поле структуры. Имеется: 1). Структура типа:
2). Массив структур, поле каждой структуры про инициализированно именем соответствующего созданного ранее массива
3). Для удобства работы с элементами массива, введены указатели
4). В соответствующем модуле программы, введено объявление extern struct FSM_BASE *uart_fsm; Необходимо передать в функцию указатель на массив s8 get_Message(u8 *msg, u8 num); Пытаюсь мыслить логически, но не понимаю очерёдности действий: - имеем указатель на элемент массива структур; - для доступа к элементу структуры, необходимо разименовать этот указатель через оператор ->; - поле структуры, является так же указателем, вот тут затык .
0
|
29.12.2019, 10:38 | |
Ответы с готовыми решениями:
6
Доступ к полю структуры из буфера Поиск по полю структуры Сортировка по структуры по полю ФИО Сортировка структуры по полю char |
фрилансер
5504 / 5099 / 1048
Регистрация: 11.10.2019
Сообщений: 13,366
|
||||||
29.12.2019, 14:56 | 2 | |||||
может, я что не так понял. Пост немного туманный. Покажи лучше кусок кода, которые не компилируется/работает неправильно, а там дальше сообразим )
0
|
0 / 0 / 0
Регистрация: 29.12.2019
Сообщений: 4
|
||||||||||||||||||||||||||
29.12.2019, 16:24 [ТС] | 3 | |||||||||||||||||||||||||
Всё верно, раньше так и делал как вы предлагаете, в качестве аргумента передавал указатель на структуру, а внутри функции её разбирал. Всё работало.
Теперь для универсальности модифицирую код, и решил передавать в функцию непосредственно указатель на массив, который входит в состав структуры. Проект содержит: 1). Глобальный модуль с определениями типов данных include.h
например uart_fsm.h, uart_fsm.c с указанием наличия внешней переменной (указателя)
message.h, mesagge.c, с функциями которые могут передавать и читать сообщения от (между) автоматов
4). В функции main, созданы глобальные переменные (массивы) для инициализации структур конечных автоматов, и создан массив структур для конечных автоматов. Для удобства, решил каждому конечному автомату (элементу массива структур), присвоить свой указатель.
6). Параллельно всплыл ещё вопрос, как работать с двухмерным массивом в модуле объекта когда в функцию необходимо передать указатель на первый элемент массива (не нулевой), и содержание нулевого элемента массива
0
|
фрилансер
5504 / 5099 / 1048
Регистрация: 11.10.2019
Сообщений: 13,366
|
||||||
29.12.2019, 16:38 | 4 | |||||
видимо, так
lcd_fsm->data[1];
0
|
0 / 0 / 0
Регистрация: 29.12.2019
Сообщений: 4
|
||||||||||||||||||||||||||||||||||||
30.12.2019, 01:43 [ТС] | 5 | |||||||||||||||||||||||||||||||||||
Спасибо за ответы.
Решил пока частично вернутся к старому "стилю", передаю указатель на структуру в функции а там его уже разбираю на необходимые элементы. Возможно понимание придёт чуть позже . Открытый вопрос (пункт 5): Функция передачи строки должна принять указатель на первый элемент массива, и содержимое нулевого элемента (в нём содержится колличество байт для передачи).
Добавлено через 25 минут Методом "Втыка" разобрался Для передачи в функцию необходимых параметров нулевого массива необходимо
Вопрос в адресной арифметике указателей двумерного массива . Добавлено через 22 минуты Вот так будет правильно?
0
|
фрилансер
5504 / 5099 / 1048
Регистрация: 11.10.2019
Сообщений: 13,366
|
|||||||||||
30.12.2019, 09:15 | 6 | ||||||||||
ProTV, предлагаю следующую схему:
0
|
0 / 0 / 0
Регистрация: 29.12.2019
Сообщений: 4
|
|
31.12.2019, 18:31 [ТС] | 7 |
Добрый вечер, поздравляю всех с наступающим Новым Годом!
При разработке проекта (на мк Atmega 8), за основу было взято цикл статей Татарчесвкого об автоматном программировании http://www.kit-e.ru/articles/c... 11_164.php В статьях содержатся примеры реализации на псевдокоде. Собственно попытался создать чуть более универсализированую версию . Во вложении рабочие наброски (Atmel Studio 7). Буду признателен за критику.
0
|
31.12.2019, 18:31 | |
31.12.2019, 18:31 | |
Помогаю со студенческими работами здесь
7
Сортировка структуры по полю double Быстрая сортировка структуры по одному полю Каким образом получить доступ к полю i через указатель ptr? Можно ли присвоить случайное значение (rand), полю символьному структуры, состоящему из N элементов? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |