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

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

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

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

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

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

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

 
Опции темы
Непрочитано 17.05.2018, 12:30  
sat_art
Прописка
 
Регистрация: 27.11.2007
Сообщений: 248
Сказал спасибо: 8
Сказали Спасибо 17 раз(а) в 15 сообщении(ях)
sat_art на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

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

Сообщение от parovoZZ Посмотреть сообщение
Это от компилятора зависит или от погоды на Марсе?
От компилятора и степени оптимизации.
__________________
https://github.com/eddyem/
http://stackexchange.com/users/2227375/eddy-em
http://eddy-em.livejournal.com/
In the world, only two things are the worst: Windows and Poettering.
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
Вид на жительство
 
Регистрация: 15.11.2010
Сообщений: 401
Сказал спасибо: 29
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

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

Код:
*data++ = SPI_ReadByte(nop)
Мне важно сообщение срисовать. А срисовывать придётся много)) 32 байта)).
parovoZZ вне форума  
Непрочитано 17.05.2018, 15:16  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 11,669
Сказал спасибо: 1,016
Сказали Спасибо 3,786 раз(а) в 2,081 сообщении(ях)
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
Вид на жительство
 
Регистрация: 15.11.2010
Сообщений: 401
Сказал спасибо: 29
Сказали Спасибо 13 раз(а) в 10 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

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

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

Сообщение от Исбанни Посмотреть сообщение
Сначала ++, потом *.
Это лишь если написать
Код:
++*ptr
__________________
https://github.com/eddyem/
http://stackexchange.com/users/2227375/eddy-em
http://eddy-em.livejournal.com/
In the world, only two things are the worst: Windows and Poettering.
eddy вне форума  
Непрочитано 17.05.2018, 19:49  
Исбанни
Заблокирован
 
Регистрация: 21.04.2018
Сообщений: 176
Сказал спасибо: 1
Сказали Спасибо 65 раз(а) в 52 сообщении(ях)
Исбанни на пути к лучшему
По умолчанию Re: Указатели, чтоб их!

Тааак, а давайте вы сначала проверите, а потом - опишите впечатления? ))
Справа налево. <<<<---- вот тудыть!. Откройте учобник.
Сначала *, затем ++ того, на что * указатель
Исбанни вне форума  
Непрочитано 17.05.2018, 19:53  
Yuri222
Почётный гражданин KAZUS.RU
 
Регистрация: 08.02.2005
Сообщений: 2,262
Сказал спасибо: 266
Сказали Спасибо 652 раз(а) в 472 сообщении(ях)
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, время: 13:24.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd. Перевод: zCarot