|
2 / 2 / 0
Регистрация: 05.02.2021
Сообщений: 162
|
||||||
Что является объявлением структуры, а что является определением?07.08.2021, 08:50. Показов 2980. Ответов 20
Метки нет (Все метки)
Доброго времени суток
Или мы определяем структуру объявляя переменную типа Date
0
|
||||||
| 07.08.2021, 08:50 | |
|
Ответы с готовыми решениями:
20
Определить (что является критической секцией, является потоком, является процессом и т.д.
|
|
фрилансер
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
|
|||||||||||||||||
| 07.08.2021, 10:04 | |||||||||||||||||
|
solvo23,
объявление структуры одновременно с определением структуры:
1
|
|||||||||||||||||
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
|
| 07.08.2021, 10:25 | |
|
0
|
|
|
2 / 2 / 0
Регистрация: 05.02.2021
Сообщений: 162
|
|
| 07.08.2021, 11:30 [ТС] | |
|
Это всего лишь пример структуры что в голову пришло то и написал
0
|
|
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
|
| 07.08.2021, 11:44 | |
|
глупость в голову пришла и вообще такие вещи гуглятся довольно просто
0
|
|
|
2 / 2 / 0
Регистрация: 05.02.2021
Сообщений: 162
|
|||||||
| 07.08.2021, 20:53 [ТС] | |||||||
|
и например получил такой результат 1. Объявление предоставляет основные свойства символа: его тип и его название. что подтверждает ответ Алексей1153 2. "Объявление структуры" именует тип и задает последовательность переменных значений ("элементы" или "поля" структуры), которые могут иметь разные типы. Необязательный идентификатор — тег — предоставляет имя типа структуры и может использоваться в последующих ссылках на тип структуры. что противоречит ему же Я всего лишь хочу четко понимать где объявление, а где определение поэтому и задаю глупые вопросы В вопросе главное было не
0
|
|||||||
|
фрилансер
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
|
|||
| 07.08.2021, 21:02 | |||
|
противоречия нет: предварительно объявить, а затем определить, можно только указав одно и то же имя
1
|
|||
|
1064 / 985 / 153
Регистрация: 10.08.2015
Сообщений: 5,375
|
|
| 09.08.2021, 01:33 | |
|
Исходя из неоднозначности системы образования, одно и то же в узких околонаучных кругах может называться по разному. Определение и объявление может быть эквивалентным, а может и не быть, как сказано выше.
0
|
|
| 09.08.2021, 11:51 | |
|
Не по теме: solvo23, очень интересный вопрос. :D Нашли что спросить. :D Тоже очень старался понять что такое обьявление, и определение. Например - переменная, это один из обьектов текста программы. Для человека свойственно мыслить обьектами, которые взаимодействуют. Поэтому создатели описания стандарта языка сразу и увидели - вот, переменные это все обьекты. Все очевидно, текст программы наполнен обьектами (переменными). Далее, обьект должен появлятся в тексте программы. Процесс добавления в программу обьекта можно назвать обьявлением. Есть старое слово которое если не ошибаюсь пишется 'явь', означает то что видно, то есть - действительность (современное слово). Если обьекта не существовало а он появился - значит произошел процесс обьявления. Тот кто создал процесс появления обьекта выполнил операцию обьявления. Переменной не было и затем она появилась - переменная обьявлена. Одна из составляющей обьекта переменной (переменная это сложный многосоставной обьект, например - как любой обьект в природе) это ее размер в памяти. Для языка Си, процесс задания типа переменной написанием char, int, float, double и добавления по надобности short, long - можно назвать процессом определения размера памяти под переменную. Здесь все от слова 'предел', то есть - граница для задаваемого блока памяти. Процесс задания границы для какого то значения - ограничение, определение. Запись начального значения в память переменной можно назвать процессом инициализации. Англ. initial, если не ошибаюсь, означает слово 'начальный', 'заглавный'. Вот и процесс задания начального значения можно назвать - инициализация. Почти всегда процесс обьявления переменной содержит процесс определения. Если не ошибаюсь, в Си можно обьявить переменную не определяя ее, с помощью void. Можно переменную сразу обьявить, определить и инициализировать, если воспользоватся оператором '='. Для структур в Си наверное ситуация в какой то мере аналогичная. Вроде структуры тоже можно назвать обьектами? Не по теме: Короче составляли мировые стандарты люди здравые.
0
|
|
|
фрилансер
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
|
|||
| 09.08.2021, 11:59 | |||
|
экземпляр структуры - это объект
0
|
|||
| 09.08.2021, 14:33 | |
|
Не по теме: Надо сказать что в этой теме слабо разбираюсь, и просьба не матерится если что не так сказал. :D solvo23, не рекомендую вам так точно изучать язык программирования. На такое качество понимания надо затратить много силы и времени. Возможно лучше изучить тему языка в общем, и на много быстрее получится способность на нем программировать? Алексей1153, кажется понял вас. Наверное потому что это общепринято в разговоре программистов, так проще. Никто не будет так заморачиваться в разговоре. Может быть вы правы, не знаю. Алексей1153, а какую тогда функцию выполнит, например, int? Да еще и если добавить long? Эти команды установят пределы для памяти переменной, выполнят определение.Все в месте может можно назвать обьявлением переменной? В процессе обьявления есть под-процесс определения.
0
|
|
|
фрилансер
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
|
|
| 09.08.2021, 14:38 | |
|
0
|
|
|
Неэпический
|
||||||
| 09.08.2021, 14:41 | ||||||
|
Вот так (если в новых версиях ничего не поменялось):
0
|
||||||
| 09.08.2021, 21:35 | |
|
Алексей1153, можно подумать что говорил о функции в языке Си связанные из int?
Нет, всмысле эта команда (int, long int) которая записывается перед именем переменной, она задает размер памяти для переменной.Поэтому в обьявлении переменной всегда будет определение. Потому что в записи обьявления переменной всегда есть char, int, float, double. Если можно обьявить переменную без задания ее типа - тогда это обьявление без определения. Но ведь это не возможно? ![]() Croessmah, если перед именем переменной записать static, тогда память под переменную не выделяется? К стати, если трудно понять что такое обьявление и определение, можно разобрать слова declaration и definition. Везде есть приставка 'de', и слова заканчиваются приставкой 'on'. Не по теме: Когда переводят текст книги на другой язык, в оригинале слово можно перевести дословно, а можно поменять. Часто человеку проще понять оригинал книги чем ее перевод.
0
|
|
|
фрилансер
6455 / 5657 / 1129
Регистрация: 11.10.2019
Сообщений: 15,073
|
||||
| 09.08.2021, 21:48 | ||||
|
0
|
||||
|
Гвоздь Задиров
1719 / 1118 / 337
Регистрация: 25.01.2019
Сообщений: 2,946
|
|||||
| 09.08.2021, 22:00 | |||||
![]() int и struct A{}; - оба два типы. Первый "встроенный", его объявление доступно везде, а определения запрятано глубоко и, соотв-но, применительно к таким типам "объявление/определение типа" встречается редко. Для второго "объявление/определение типа" имеет смысл куда чаще, т.к. это пользовательский тип и его объявляют/определяют повсеместно. Языковая конструкция вроде "объявим переменную типа Х" ничего общего с "объявим тип Х" не имеет, оно означает "создадим объект типа Х". Стоит различать.
0
|
|||||
|
8973 / 4319 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
| 10.08.2021, 02:48 | |
|
в языке с++ возможны ситуации, когда сущность определена, но не объявлена.
0
|
|
|
Вездепух
12938 / 6805 / 1821
Регистрация: 18.10.2014
Сообщений: 17,226
|
||
| 10.08.2021, 03:39 | ||
|
В языке С, например, понятие "определения" применимо только к переменным, функциям, typedef-псевдонимам и макросам. В С нет такого понятия как "определение структуры". Структуры в С только объявляются. И вариант struct S; и вариант struct S { ... }; являются объявлениями. Разница лишь в том, что первая объявляет неполный тип, вторая - полный.В С++ ситуация совсем другая и для класс-типов вводится деление на объявление и определение. Ваше гугленье нагуглило ответы для С или для С++?
0
|
||
|
Неэпический
|
|||||||
| 10.08.2021, 11:32 | |||||||
|
И да, определения не будет.
0
|
|||||||
| 10.08.2021, 11:32 | |
|
Помогаю со студенческими работами здесь
20
Показать, что пространство всех многочленов P[0,1] является нормированным, но не является банаховым Доказать, что данная мера является непрерывной, но не является сигма- аддитивной
Доказать, что предикат является (или не является) (примитивно) рекурсивным Доказать, что первая матрица является или не является элементом (решением) трёх заданных матриц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|