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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2009, 21:48   #1
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию Собственный тип в С

Подскажите, как объявить гробальный тип в c
Код:
#include

struct a
{
int s;
}

int main...
возникает ошибка. Почему?
Упс...
L_M вне форума Ответить с цитированием
Старый 01.05.2009, 21:51   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Цитата:
возникает ошибка. Почему?
Забыли точку с запятой:
Код:
#include

struct a
{
int s;
};

int main...
Но правильнее, наверное, будет так:
Код:
typedef struct
{
int s;
} a;
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Старый 01.05.2009, 21:57   #3
L_M
Форумчанин Подтвердите свой е-майл
 
Регистрация: 25.02.2008
Сообщений: 289
По умолчанию

Спасибо, попробую
Упс...
L_M вне форума Ответить с цитированием
Старый 01.05.2009, 21:58   #4
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Гробальный тип О_о
В C a будет в другом пространстве имён, чтобы создать тип a, надо писать
Код:
typedef struct
{
int s;
} a;
К C++ это не относится
Somebody вне форума Ответить с цитированием
Старый 01.05.2009, 22:28   #5
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

В Си не существует понятия пространства имен.
Объявить новый тип можно любым способом, просто если использовать способ без typedef, то объявлять переменную нового типа нудно будет так: struct a var; если использовать способ с typedef, можно объявить просто: a var;
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 01.05.2009, 23:56   #6
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Цитата:
Сообщение от Blade Посмотреть сообщение
В Си не существует понятия пространства имен.
В таком смысле, как в C++, не существует. Но как тогда правильно назвать то, что одни имена существуют отдельно от других, сами по себе, не вызывают конфликтов при совпадении и всё такое?
Somebody вне форума Ответить с цитированием
Старый 02.05.2009, 10:06   #7
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Somebody Посмотреть сообщение
Но как тогда правильно назвать то, что одни имена существуют отдельно от других, сами по себе, не вызывают конфликтов при совпадении и всё такое?
Не совсем понял что значит "одни имена существуют отдельно от других" Если вы имеете ввиду, что, например, есть глобальная переменная, а потом в какой-то функции объявляют локальную переменную с таким же именем и их имена не конфликтуют, то это - область видимости переменной (у локальной приоритет выше, чем у глобальной)
Если не это имели ввиду - поясните
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 02.05.2009, 22:53   #8
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

Я имел в виду, что имена структур, или как это сказать, и имена типов существуют сами по себе и не божет быть никаких конфликтов, так как абсолютно независимы.
Код:
typedef struct a
{
int s;
} b;

typedef struct b
{
int s;
} a;
Somebody вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать собственный а-ля Apache Stilet Работа с сетью в Delphi 12 23.02.2009 14:46
Перевести тип String в тип PChar (Delphi 7) ScorpioN_T Помощь студентам 2 28.10.2008 22:13
Собственный движок keni9 PHP 3 06.12.2007 20:02
данные о видеосистеме: тип видеоадаптера, тип монитора, режим монитора: разрешение, частота обновления WaxeP Win Api 9 15.04.2007 18:12