Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Типы на С / 24 сообщений из 24, страница 1 из 1
11.03.2007, 18:51
    #34382900
Badsektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
доброго времени суток ))
Подскажите как на С создать свой тип данных ?
...
Рейтинг: 0 / 0
11.03.2007, 18:54
    #34382902
sashka304
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
typedef <type definition> <identifier> ;
...
Рейтинг: 0 / 0
11.03.2007, 19:06
    #34382912
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
struct

тупо то тоже в тему
#define

аффтопитезь: объект либо именован, либо не существует
...
Рейтинг: 0 / 0
11.03.2007, 19:07
    #34382915
Badsektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
sashka304typedef <type definition> <identifier> ;

а можно по подробнее ????
...
Рейтинг: 0 / 0
11.03.2007, 19:11
    #34382917
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Badsektor sashka304typedef <type definition> <identifier> ;

а можно по подробнее ????

typedef int my_new_int; //my_new_int станет таким же как и int
typedef unsigned char BYTE; //BYTE теперь беззнаяковый 1 байт
typedef char* LPCHAR; //указатель
и т.д.
...
Рейтинг: 0 / 0
11.03.2007, 19:35
    #34382930
Badsektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Aklin Badsektor sashka304typedef <type definition> <identifier> ;

а можно по подробнее ????

typedef int my_new_int; //my_new_int станет таким же как и int
typedef unsigned char BYTE; //BYTE теперь беззнаяковый 1 байт
typedef char* LPCHAR; //указатель
и т.д.

а как создать такой тип чтобы можно было обращаться к его полям когда нужно ?
...
Рейтинг: 0 / 0
11.03.2007, 19:38
    #34382931
sashka304
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
это что типа как record в паскале? если да то:
struct my_type
{
int a;
int b;
char *c;
....
}
...
Рейтинг: 0 / 0
11.03.2007, 19:41
    #34382934
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Badsektorа как создать такой тип чтобы можно было обращаться к его полям когда нужно ?
struct, class?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
typedef struct _MYSTRUCT
{
    int a;
    int b;
} MYSTRUCT, *LPMYSTRUCT;

...

MYSTRUCT ms;
LPMYSTRUCT lpms;

ms.a =  2 ;
lpms->b =  3 ;
...
Рейтинг: 0 / 0
11.03.2007, 19:43
    #34382936
Badsektor
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Ruslan.Isbarov Badsektorа как создать такой тип чтобы можно было обращаться к его полям когда нужно ?
struct, class?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
typedef struct _MYSTRUCT
{
    int a;
    int b;
} MYSTRUCT, *LPMYSTRUCT;

...

MYSTRUCT ms;
LPMYSTRUCT lpms;

ms.a =  2 ;
lpms->b =  3 ;


пасиб хоть кто-то нормально ответил ))))
...
Рейтинг: 0 / 0
11.03.2007, 19:49
    #34382939
sashka304
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
а зачем писать?
Код: plaintext
typedef struct _MYSTRUCT
можно и
Код: plaintext
1.
2.
3.
4.
5.
6.
struct _MYSTRUCT
{
    int a;
    int b;
} MYSTRUCT, *LPMYSTRUCT;


или я уже переработался...
...
Рейтинг: 0 / 0
11.03.2007, 20:04
    #34382948
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
sashka304а зачем писать?
Код: plaintext
typedef struct _MYSTRUCT
можно и
Код: plaintext
1.
2.
3.
4.
5.
6.
struct _MYSTRUCT
{
    int a;
    int b;
} MYSTRUCT, *LPMYSTRUCT;


или я уже переработался...
Можно, но тогда мы не сможем объявить переменные типов MYSTRUCT и LPMYSTRUCT. Доступ к членам структуры мы сможем осуществить только:

Код: plaintext
1.
2.
MYSTRUCT.a =  2 ;
LPMYSTRUCT->b =  3 ;

Т.е., вот на этих строках компилятор нас обругает матом:

Код: plaintext
1.
2.
MYSTRUCT ms;
LPMYSTRUCT lpms;
...
Рейтинг: 0 / 0
11.03.2007, 20:07
    #34382953
Ruslan.Isbarov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
В общем, с typedef универсальнее и ИМХО гораздо изящнее :) ...
...
Рейтинг: 0 / 0
11.03.2007, 20:12
    #34382959
Анатолий Широков
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
В С требуется полная квалификация имени:

Код: plaintext
1.
2.
3.
4.
5.
6.
struct foo
{
   int a;
...
};
struct foo s;
s.a =  10 ;

для того чтобы не писать каждый раз перед именем struct вот и заводили алиас для типа через typedef:

Код: plaintext
1.
2.
3.
typedef struct foo_
{
    int a;
} foo;

в итоге, получали более компакный способ объявления переменных:

Код: plaintext
1.
foo s;
s.a =  10 ;
...
Рейтинг: 0 / 0
11.03.2007, 20:24
    #34382969
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Анатолий ШироковВ С требуется полная квалификация имени

Ээх. И за шо его любят? С таким-то синтаксическим сахаром.
...
Рейтинг: 0 / 0
11.03.2007, 21:35
    #34383026
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Badsektor пишет:

> доброго времени суток ))
> Подскажите как на С создать свой тип данных ?

На самом деле в С нет механизмов создания пользовательских типов
данных. Они есть только в С++.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.03.2007, 14:41
    #34384529
Aklin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
MasterZiv
Badsektor пишет:

> доброго времени суток ))
> Подскажите как на С создать свой тип данных ?

На самом деле в С нет механизмов создания пользовательских типов
данных. Они есть только в С++.
Posted via ActualForum NNTP Server 1.4

епта, приехали

что курить уже говорил.

типы: как наобр типов - struct в си
в сипп struct ТОЖЕ что и class.
...
Рейтинг: 0 / 0
12.03.2007, 14:54
    #34384577
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Aklin пишет:

> На самом деле в С нет механизмов создания пользовательских типов
> данных. Они есть только в С++.

> епта, приехали

> типы: как наобр типов - struct в си
> в сипп struct ТОЖЕ что и class.

Да не то же.
И typedef тип на самом деле не создает. Он создает синоним для существующего
типа данных С. Чтобы создать тип данных нужно еще операции определить для
типа, это есть только в С++.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
12.03.2007, 16:45
    #34384938
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
sashka304а зачем писать?
Код: plaintext
typedef struct _MYSTRUCT
можно и
Код: plaintext
1.
2.
3.
4.
5.
struct _MYSTRUCT
{
    int a;
    int b;
} MYSTRUCT, *LPMYSTRUCT;

или я уже переработался...При таком объявлении ты не создаешь новые типы данных, а просто объявляешь две переменные - одну как простую структуру, одну как указатель на эту структуру.
...
Рейтинг: 0 / 0
28.03.2007, 00:37
    #34419972
ARH@NGEL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Народ скажите плиз как создать класс 512 битовых чисел?
...
Рейтинг: 0 / 0
28.03.2007, 03:43
    #34420043
grieg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
ARH@NGELНарод скажите плиз как создать класс 512 битовых чисел?
Скачать библиотеку GMP
...
Рейтинг: 0 / 0
28.03.2007, 03:47
    #34420045
grieg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
MasterZiv
Да не то же.
И typedef тип на самом деле не создает. Он создает синоним для существующего
типа данных С.

Зато struct создает.
Чтобы создать тип данных нужно еще операции определить для
типа.
Что вдруг?
...
Рейтинг: 0 / 0
28.03.2007, 03:49
    #34420046
grieg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
Код: plaintext
1.
typedef struct _MYSTRUCT
Не стоит начинать идентификаторы с ведущих подчеркиваний, ибо можно нарваться на зарезервированные под библиотеку идентификаторы.
...
Рейтинг: 0 / 0
28.03.2007, 09:36
    #34420296
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
ARH@NGELНарод скажите плиз как создать класс 512 битовых чисел?

Код: plaintext
typedef bitset< 512 > class512bit;
...
Рейтинг: 0 / 0
28.03.2007, 09:37
    #34420299
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Типы на С
grieg
Код: plaintext
1.
typedef struct _MYSTRUCT
Не стоит начинать идентификаторы с ведущих подчеркиваний, ибо можно нарваться на зарезервированные под библиотеку идентификаторы.

Без подчеркиваний тоже можно нарваться.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Типы на С / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]