Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2012, 11:49   #1
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию struct

Код:

    #include <iostream>

    #include <string.h>

    int main(void)

    {
        struct employee

       {
          char name [64];
          long employee_id;
          float salary;
          char phone[10];
          int office_number;
       } worker;

    // Копировать имя в строку strcpy(worker.name, "Джон Дой");

       worker.employee_id = 12345;
       worker.salary = 25000.00;
       worker.office_number = 102;

    // Копировать номер телефона в строку strcpy(worker.phone, "555-1212") ;

       cout << "Служащий: " << worker.name << endl;
       cout << "Телефон: " << worker.phone << endl;
       cout << "Номер служащего: " << worker.employee_id << endl;
       cout << "Оклад: " << worker.salary << endl;
       cout << "Офис: " << worker.office_number << endl;
    }
Зачем вместо инициализации копировать символьные строки?
И вот эта строчка }work; читается: как переменная типа struct employee ?
Gtnz8 вне форума Ответить с цитированием
Старый 17.08.2012, 12:43   #2
Rififi
Старожил
 
Регистрация: 19.08.2009
Сообщений: 2,119
По умолчанию

Gtnz8

Зачем вместо инициализации копировать символьные строки?

потому что символьная строка в Си - это массив. А массиву нельзяприсвоить значение.

И вот эта строчка }work; читается: как переменная типа struct employee ?

это сокращенная запиь для

struct employee {...};

employee Петя;
Rififi вне форума Ответить с цитированием
Старый 17.08.2012, 16:08   #3
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

Цитата:
Сообщение от Rififi Посмотреть сообщение
Gtnz8



employee Петя;
криптограф.

variable.member=some_variable. - полю member переменной variable присваивается значение some_variable.
А как правильно прочитать эту запись?
some_variable = variable.other_member;

Последний раз редактировалось Stilet; 20.08.2012 в 11:38.
Gtnz8 вне форума Ответить с цитированием
Старый 20.08.2012, 08:06   #4
monster-bonster
Пользователь
 
Аватар для monster-bonster
 
Регистрация: 27.06.2012
Сообщений: 38
По умолчанию

Цитата:
Сообщение от Gtnz8 Посмотреть сообщение
variable.member=some_variable. - полю member переменной variable присваивается значение some_variable.
А как правильно прочитать эту запись?
some_variable = variable.other_member;
значение поля other_member структуры variable присваивается some_variable.

Последний раз редактировалось monster-bonster; 20.08.2012 в 08:09.
monster-bonster вне форума Ответить с цитированием
Старый 20.08.2012, 11:07   #5
Gtnz8
Пользователь
 
Аватар для Gtnz8
 
Регистрация: 09.08.2012
Сообщений: 95
По умолчанию

мерси-с monster вы немного припозднились, я всё уже давным давно присвоил.
Gtnz8 вне форума Ответить с цитированием
Старый 13.09.2012, 21:53   #6
Borkot
Пользователь
 
Аватар для Borkot
 
Регистрация: 29.04.2012
Сообщений: 37
По умолчанию

А вот прочитал про структуру и нашел

Элементами или полями структуры могут быть переменные, массивы,
ранее определенные структуры. Функции не могут быть полями структуры (В языке
Си). В языке С++ функции могут быть полями структуры и такие структуры
называются классами. Они определяются с помощью ключевого слова class.

Если не сложно расскажите получается структура и класс это почти одно и тоже?
Borkot вне форума Ответить с цитированием
Старый 14.09.2012, 07:27   #7
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,719
По умолчанию

Угу, в С++.
Только в структурах по умолчанию действует паблик, а в классе - приват.
p51x вне форума Ответить с цитированием
Старый 14.09.2012, 08:59   #8
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

А еще для у классов наследование по умолчанию - private, у структур public.
Это и то, что сказал p51x - единственные различия классов и структур в С++.
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
struct Gtnz8 Общие вопросы C/C++ 4 17.08.2012 15:41
struct C++ PointBreak Visual C++ 0 12.06.2012 11:58
Struct mansp Общие вопросы C/C++ 4 05.12.2010 20:00
STRUCT() alexov Общие вопросы C/C++ 1 13.01.2009 18:13
struct vs MASM format Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 4 09.05.2008 17:54