Когда это память для структуры, выделенной в C? Это когда я объявляю это или когда я создаю его экземпляр? Кроме того, почему статические переменные не могут использоваться внутри структуры?Распределение памяти для структуры
ответ
Когда вы определяете структуру, для которой вы НЕ выделяете память, вот почему вы можете использовать typedef, чтобы избежать написания struct my_struct_name. Когда вы определяете структуру, вы объявляете тип данных, поэтому они не обрабатывают данные до тех пор, пока вы не объявите экземпляр этой структуры.
struct point{ int x; int y; };
Это не будет занимать место, пока в функции или основной вы объявляете один, как, например,
int main(void){
struct point mypoint1,mypoint2;//THIS IS WHEN MEMORY STARTS BEING ALLOCATED
return 0;
}
Что касается статической, я не думаю, что есть на самом деле точка объявить статический для структура? Почему вы должны сделать переменную static в структуре?
Спасибо! Это было полезно. Хорошо, я понимаю, что мне не нужно создавать переменную static внутри структуры. Однако переменная, явно объявленная auto внутри структуры, также генерирует ошибку компилятора, не говоря о таком члене. Любая идея, почему это может произойти? В любом случае, переменные автоматически не по умолчанию? –
Авто также имеет смысл выбросить ошибку компиляции, так как она выводит тип данных. Предположим, вы определили ту же самую структурную точку, которую я дал вам, положив auto x; Если в одной точке вы положите x = 0, а другой x = 0.0, у вас возникнет проблема. Еще раз. Я снова думаю, что на самом деле нет смысла, когда вы объявляете структуру, которую знаете, какие типы данных вы собираетесь использовать внутри нее. –
- 1. Распределение памяти для расширения структуры
- 2. Распределение памяти для трехмерной структуры
- 3. Распределение памяти глобальной структуры
- 4. Распределение памяти структуры в C
- 5. Структуры C, распределение и структуры памяти
- 6. Структуры, указатели и распределение памяти
- 7. Динамическое распределение и структуры памяти
- 8. распределение памяти структуры в C++
- 9. Распределение памяти для определения структуры матрицы
- 10. Распределение памяти для структуры (низкая производительность)
- 11. Распределение памяти для конструкции
- 12. Динамическое распределение памяти в массиве внутри структуры,
- 13. Распределение памяти для структурных элементов
- 14. Распределение памяти памяти XPM
- 15. Распределение памяти для процессов
- 16. Распределение памяти для функции
- 17. распределение памяти для указателя
- 18. C -Память распределение для структуры
- 19. Распределение памяти в OpenGL
- 20. распределение памяти массива numpy
- 21. Распределение памяти памяти MASM
- 22. Распределение памяти распределителя памяти
- 23. Распределение памяти CPython
- 24. Распределение памяти
- 25. Распределение памяти памяти
- 26. Распределение памяти внутри конструкторов?
- 27. Распределение памяти
- 28. Распределение памяти
- 29. Распределение памяти
- 30. Распределение памяти
Что означало бы «статическая переменная внутри структуры»? –
что-то вроде этого: struct temp { статический int a; }; Когда я создаю экземпляр вышеуказанной структуры, компилятор говорит, что нет члена с именем 'a'. –
'struct' _exactly_ совпадает с переменной. _Так же, почему статические переменные не используются внутри struct? _: Потому что он не был разработан на языке C. –