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

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

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

а можно по подробнее ????
...
Рейтинг: 0 / 0
Типы на С
    #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
Типы на С
    #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
Типы на С
    #34382931
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это что типа как record в паскале? если да то:
struct my_type
{
int a;
int b;
char *c;
....
}
...
Рейтинг: 0 / 0
Типы на С
    #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
Типы на С
    #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
Типы на С
    #34382939
Фотография sashka304
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а зачем писать?
Код: plaintext
typedef struct _MYSTRUCT
можно и
Код: plaintext
1.
2.
3.
4.
5.
6.
struct _MYSTRUCT
{
    int a;
    int b;
} MYSTRUCT, *LPMYSTRUCT;


или я уже переработался...
...
Рейтинг: 0 / 0
Типы на С
    #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
Типы на С
    #34382953
Фотография Ruslan.Isbarov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем, с typedef универсальнее и ИМХО гораздо изящнее :) ...
...
Рейтинг: 0 / 0
Типы на С
    #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
Типы на С
    #34382969
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Анатолий ШироковВ С требуется полная квалификация имени

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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