Разработка, производство и продажа радиоэлектронной аппаратуры
|
Карта сайта
|
Пишите нам
|
В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:
jobsmp@pochta.ru
Телесистемы
|
Электроника
|
Конференция «Микроконтроллеры и их применение»
Приведение помогает, но я не понимаю почему. (настораживает) Вроде как, имя массива без разименования (индексов) - это именно указатель, как и имя функции без круглых скобок. Раньше оно на это не жаловалось
Отправлено
Юрий_СВ
(91.214.248.66)
12 сентября 2010, г. 21:30
В ответ на:
Ну, во втором случае просится принудительное привидение (int*). Массивы все же это не указатели.
отправлено
VasilyS
12 сентября 2010, г. 21:22
Составить ответ
|
Вернуться на конференцию
Ответы
Нет, компилятор строго говоря различает указатели и массивы. Хотя бы потому, что может работает с ними по-разному. Для указателя он обязательно пользуется косвенной адресацией(потому что не знает базового адреса) типа LD r16, Z, а для массивов - относительной, т.к. знает "базу" Типа LDD r16, Z+24. У Богатырева что ли написано, типа Си в вопросах и ответах
-
VasilyS
(12.09.2010, 21:37:45
80.92.96.25
,
пустое
)
Во, см. п2, конкретно 2.2
-
VasilyS
(12.09.2010, 21:46:43
80.92.96.25
,
пустое
,
ссылка
)
Вы не на тот пункт обратили внимание. См.п.2.3.
-
Юрий_СВ
(12.09.2010, 22:32:35
91.214.248.66
,
пустое
)
Еще давно я обратил внимание на все пункты. А почему - 2.2 - там сказан ответ на вопрос "Но я слышал, что char a[] эквивалентно char *a" - "Ничего подобного". Читать рекомендую всё.
-
VasilyS
(12.09.2010, 22:51:12
80.92.96.25
,
пустое
)
Не пункт 2.2. потому, что там речь про "массив и указатель", а мы говорим про "имя массива и указатель".
-
Юрий_СВ
(13.09.2010, 02:18:24
91.214.248.66
,
пустое
)
Книга, мягко говоря не понравилась. У некоторых авторов читаешь и впечатляешься продуманости и глубине. В случае со Стивом Саммитом всё наоборот: тупо, надуманно, примитивно. Мне нравится книга: В.В. Подбельский С.С. Фомин "Программирование на языке Си"
-
Юрий_СВ
(13.09.2010, 02:10:25
91.214.248.66
,
пустое
,
ссылка
)
Стр.175, Раздел 4.2 "Указатели и массивы" : "В соответствии с синтаксисом языка Си имя массива без индексов является указателем-константой, т.е. АДРЕСОМ ЕГО ПЕРВОГО ЭЛЕМЕНТА."
-
Юрий_СВ
(13.09.2010, 02:13:28
91.214.248.66
,
пустое
)
Такое приведение надо очень сильно проверять. Там где тип переменной соответствует приведения избегать лучше.
-
mandigit
(12.09.2010, 21:32:16
91.79.36.102
,
пустое
)
Это в данном случае общая практика - явно приводить массивы к указателям для передачи функции адреса массива.
-
VasilyS
(12.09.2010, 21:39:45
80.92.96.25
,
пустое
)
Отправка ответа
Имя*:
Пароль:
E-mail:
Тема*:
Сообщение:
Ссылка на URL:
URL изображения:
если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
введите число 38:
Перейти к списку ответов
|
Конференция
|
Раздел "Электроника"
|
Главная страница
|
Карта сайта
Web
telesys.ru