Содержание
- 2. Структуры struct имя_структуры { описание полей структуры }; Здесь имя_структуры – идентификатор, соответствующий синтаксису языка Си,
- 3. Структуры Опишем вектор в трехмерном пространстве, который задается тремя вещественными координатами x, y, z: struct R3Vector
- 4. Структуры Таким образом, вводится новый тип "struct R3Vector"; объект этого типа содержит внутри себя три вещественных
- 5. Рассмотрим пример структуры на примере набора сведений Почтовый адрес: struct address { // почтовый адрес char*
- 6. Для инициализации переменных структурного типа можно использовать: address jd = { "Иванов", 15, "ул. Амурская", "Благовещенск",
- 7. Причем, если количество инициализирующих значений превышает количество членов структуры – это ошибка. Если же их меньше,
- 8. Переменные типа address могут описываться точно также, как другие переменные, а доступ к отдельным членам (полям)
- 9. Итак, имеется возможность работать с полями структуры. Например, в следующем фрагменте в векторе w вычисляется векторное
- 10. Определение структуры обычно располагается вне определений функций (подобно опреде-лению глобальных констант). В этом случае тип структуры
- 11. С объектами типа структура можно работать как с единым целым, например, для структур одного и того
- 12. Операции сравнение (== и !=) не определены. Однако пользователь может определить эти операции, используя прием перегрузки
- 13. В приведенных выше примерах все поля структуры R3Vector имеют один и тот же тип double, однако
- 14. Полное описание всех трех структур: struct R3Vector { // Вектор трехмерного пространства double x; double y;
- 15. Пусть plane — это объект типа плоскость. struct R3Plane plane; Для того, чтобы получить координату x
- 16. К структурным объектам типа указатель обращаются с использованием операции -> (стрелка). Например: void print_addr (address* p)
- 17. Имя типа становится доступным сразу после того, как оно встретилось, а не только после того, как
- 18. Чтобы дать возможность двум (или более) структурным типам ссылаться друг на друга, можно предварительно описать имя
- 19. Рассмотрим проектирование символьной таблицы, в которой каждый элемент содержит имя и значение, причем значение может быть
- 20. Для рассмотренного типа entry приведем пример функции – печати значений: void print_entry(entry* p) { cout name;
- 21. Поскольку string_value и int_value никогда не могут использоваться одновременно, ясно, что пространство пропадает впустую. Ситуацию можно
- 22. При размещении entry поля структуры string_value и int_value будут храниться по одному и тому же адресу
- 23. Многие компьютеры требуют, чтобы объекты определенных типов выравнивались в памяти только по некоторым зависящим от архитектуры
- 24. Когда sizeof применяется к имени типа структуры или объединения или к идентификатору имеющему тип структуры или
- 25. Структуры
- 27. Структуры Пример: #include #include #include using namespace std; struct library { int shifr; char author[20]; char
- 28. Пример программы - библиотека void Print () { cout cout cout } ; void PrintData (library
- 29. int main () { int i, n, m, god, v=0, g=0; char avtor[20]; struct library ptr[50];
- 30. do { cout cout cout cout cout cin>>m; switch (m) { case 1: { Print(); for
- 31. case 2: { cout cin>>god; for (i=0; i { if (ptr[i].year==god) { v+=1; if (v==1) Print();
- 32. case 3: { cout cin>>avtor; for (i=0; i { if (strcmp(ptr[i].author, avtor)==0) { g+=1; if (g==1)
- 34. Скачать презентацию