Форум программистов, компьютерный форум, киберфорум
Наши страницы
Микроконтроллеры Atmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.81/16: Рейтинг темы: голосов - 16, средняя оценка - 4.81
KurojMiko
0 / 0 / 0
Регистрация: 06.07.2011
Сообщений: 18
1

Проблема с массивами.

10.08.2011, 21:55. Просмотров 2807. Ответов 7
Метки нет (Все метки)

Здравствуйте. Нужна помощь. Есть несколько массивов, при определенных условиях нужно в одну переменную запихивать один из етих массивов. Либо какой либо указатель. Пользуюсь code::btocks. Тупое присваивание переменной объявленной как массив других массивов ни к чему не привело. Как это реализовать??

int uzor1[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor2[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor3[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor4[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};

int *uzor[];

uzor=&uzor1;

main.c|103|ошибка: ‘uzor’ имеет неполный тип|
main.c|103|предупреждение: в присваивании указатель преобразуется в целое без приведения типа|
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2011, 21:55
Ответы с готовыми решениями:

Проблема с массивами и строками в atmel studio.
У меня довольно мало опыта программирования, сам отдуплить пока не в состоянии. Скачал .h и .с...

dsPIC33E проблема с массивами
Привет всем. Такая проблема. Пытаюсь просто объявить массив unsykned int и МК dsPIC33EP256MU810...

CCS PIC проблема с массивами
В программе объявляю локально массив данных int8 data, проблема в том, что объявление массива...

Проблема с массивами
#include <iostream> #include <cstdlib> #include <ctime> #include<fstream> using namespace std;...

Проблема с массивами.
Есть массивы (1 то 16), (0 то 15) (1 от 16) = (0 то 15) даёт плохой результат - 0 элемент не...

7
buy
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
10.08.2011, 22:31 2
uzor=&uzor1;

тут несовпадение типов.
uzor1 - массив
uzor - массив указателей, то есть указатель на указатель

а ну да, не заметил что так написано.
если я правильно понял, вам нужно в массив uzor запихивать в зависимости от ситуации один из массивов?

если я не ошибаюсь тогда надо объявить просто int *uzor;
0
KurojMiko
0 / 0 / 0
Регистрация: 06.07.2011
Сообщений: 18
10.08.2011, 22:54 3
Все равно несовместимый тип указателя в присваивании.
0
buy
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
10.08.2011, 22:58 4
попробуйте uzor=&uzor1[0];
0
buy
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
10.08.2011, 23:07 5
"картинка"
<Изображение удалено>


должно получиться что-то типа такого:
Код
int uzor1[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor2[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor3[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor4[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};

int *uzor;

uzor=&uzor1[0];
хотя с загрузкой из флеш-памяти могут быть свои заморочки

добавил: так и есть, приведенный код работать не будет, потому что массивы расположены на флеш памяти, а указатель на ram.
http://iosyitistromyss.ru/avr-uchebnyj- ... ateli.html
0
KurojMiko
0 / 0 / 0
Регистрация: 06.07.2011
Сообщений: 18
11.08.2011, 00:18 6
это указатель на один элемент массива. (если мне не изменяет логика) а нужно весь массив.
0
buy
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
11.08.2011, 00:26 7
Цитата Сообщение от KurojMiko
это указатель на один элемент массива. (если мне не изменяет логика) а нужно весь массив.
таки изменяет:). в сях указатель на первый элемент массива и есть указатель на массив.
чтобы указатель указывал на следующий элемент массива, достаточно инкрементировать этот указатель (лучше для этой цели использовать временную переменную)
0
poysom
0 / 0 / 0
Регистрация: 15.05.2011
Сообщений: 32
11.08.2011, 09:57 8
Доброе время суток!
Должна и такая конструкция пройти
Код
int uzor1[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor2[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor3[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};
int uzor4[] PROGMEM ={0xaa,0xaa,0xaa,0xaa};

int *P;

P=uzor1;    //т.к. uzor1 – эта указатель на массив тогда просто
//берем его значения и присваиваем другому указателю.

int buf;

buf = P[1]; //присвоение переменной buf элемент массива uzor1[1]
0
11.08.2011, 09:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2011, 09:57

Проблема с массивами
Есть Class test в классе есть массив var $arrayData = array(); но случайно вывел другой массив (...

Проблема с массивами
Задача: В массиве из 10 элементов индексы начинаются с 0. Посчитать количество пар элементов,...

Возникла проблема с массивами
Нужно удалить из массива все строки, в которых нет цифр. static void RanomDvumerniiArray(ref int...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru