Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы

Указатели, чтоб их!

Непрочитано 17.05.2018, 12:30  
sat_art
Вид на жительство
 
Регистрация: 27.11.2007
Сообщений: 434
Сказал спасибо: 20
Сказали Спасибо 39 раз(а) в 30 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

dgrishin, опередил.
Реклама:
sat_art вне форума  
Непрочитано 17.05.2018, 13:20  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Сообщение от parovoZZ Посмотреть сообщение
Это от компилятора зависит или от погоды на Марсе?
От компилятора и степени оптимизации.
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 17.05.2018, 14:06  
H4LF
Вид на жительство
 
Аватар для H4LF
 
Регистрация: 10.06.2007
Сообщений: 429
Сказал спасибо: 34
Сказали Спасибо 51 раз(а) в 47 сообщении(ях)
H4LF на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Сообщение от sat_art Посмотреть сообщение
*data++ - постинкриментирование прочитанных данных (переменной по указателю), а не указателя. Что не есть правильно.
Нет, так как приоритет постинкремента больше, чем у разименования, т.е. в левой части будет:
Код:
*(data++)
А вот какой указатель попадёт в функцию (инкрементированный или нет) -- не знаю.
H4LF вне форума  
Непрочитано 17.05.2018, 15:12  
parovoZZ
Почётный гражданин KAZUS.RUN
 
Регистрация: 15.11.2010
Сообщений: 2,376
Сказал спасибо: 337
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Что-то вы не то говорите =)
У меня функция возвращает байт. Этот байт мне надо положить по адресу, на который указывает data. На следующей итерации цикла опять прилетает байт. Я его хочу положить по адресу data+1. И т. д. А заправлять в функцию мне без разницы что - хоть нули:

Код:
*data++ = SPI_ReadByte(nop)
Мне важно сообщение срисовать. А срисовывать придётся много)) 32 байта)).
parovoZZ вне форума  
Непрочитано 17.05.2018, 15:16  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,821
Сказал спасибо: 919
Сказали Спасибо 4,289 раз(а) в 2,570 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Нихрена подобного. ++ применяется к указателю, а не к данным.
Код:
	if (SW_I2C_Write(address | 0x01) == ACK)
	{
		while (size--)
			* buf++ = SW_I2C_Read(size ? 1 : 0);  //read to buffer
		Result = I2C_SUCCESS;
	}
Easyrider83 вне форума  
Сказали "Спасибо" Easyrider83
parovoZZ (17.05.2018)
Непрочитано 17.05.2018, 18:24  
parovoZZ
Почётный гражданин KAZUS.RUN
 
Регистрация: 15.11.2010
Сообщений: 2,376
Сказал спасибо: 337
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Меня только что осенило. Я написал скелет функций, но нигде их не вызываю. Соответственно, компилятор не видит тип переменной и начинает ругаться. Когда скармливаю в функцию буфер переменная видна и всё all right =)
parovoZZ вне форума  
Непрочитано 17.05.2018, 19:40  
Исбанни
Прописка
 
Регистрация: 21.04.2018
Сообщений: 174
Сказал спасибо: 1
Сказали Спасибо 66 раз(а) в 53 сообщении(ях)
Исбанни на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Ребзя, что вы там спорите по * ++ ? Посмотрите в учебнике Си приоритеты и порядок выполнения операторов! Унарные операторы * и ++ имеют одинаковый приоритет, а порядок выполнения в этом случае - справа налево. Сначала ++, потом *. То есть, сначала постинкремент указателя (адреса), затем обращение к указателю. После выполнения команды значение указателя всегда на 1 больше текущего, в который была произведена текущая щапись.
Исбанни вне форума  
Непрочитано 17.05.2018, 19:44  
eddy
Почётный гражданин KAZUS.RUN
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,684
Сказал спасибо: 116
Сказали Спасибо 823 раз(а) в 597 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Сообщение от Исбанни Посмотреть сообщение
Сначала ++, потом *.
Это лишь если написать
Код:
++*ptr
__________________
Если ты пользуешься Windows, то ты финансируешь мировой терроризм!
eddy вне форума  
Непрочитано 17.05.2018, 19:49  
Исбанни
Прописка
 
Регистрация: 21.04.2018
Сообщений: 174
Сказал спасибо: 1
Сказали Спасибо 66 раз(а) в 53 сообщении(ях)
Исбанни на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Тааак, а давайте вы сначала проверите, а потом - опишите впечатления? ))
Справа налево. ‹‹‹‹---- вот тудыть!. Откройте учобник.
Сначала *, затем ++ того, на что * указатель
Исбанни вне форума  
Непрочитано 17.05.2018, 19:53  
Yuri222
Почётный гражданин KAZUS.RUN
 
Регистрация: 08.02.2005
Адрес: Минск, Беларусь
Сообщений: 8,917
Сказал спасибо: 3,108
Сказали Спасибо 3,029 раз(а) в 2,257 сообщении(ях)
Yuri222 на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Цитата:
Код:
++*ptr
а не инкремент ли это того, что лежит по указателю ptr?
Yuri222 вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Указатели и EEPROM 24c16 + stm32 miwutka Embedd С 25 07.01.2018 16:36
Как измерить растояние, чтоб дешево и сердито? NA1S Измерительное оборудование 38 30.11.2010 11:06
Хочу, чтоб мой комп меня будил koks81 Делимся опытом 33 03.05.2010 13:59
Косвеная адресация и указатели CERGEI1982 Микроконтроллеры, АЦП, память и т.д 7 08.09.2007 18:43
[Решено] Как мне нопаять схему, чтоб работало. Аудиотехника 3 21.05.2005 14:16


Часовой пояс GMT +4, время: 07:26.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.