Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Господа, будьте снисходительны, не бросайтесь сразу штрафовать за, как вам кажется, глупые вопросы - beginners на то и beginners.
Pascal -> C: как перевести type в typedef 29.05.05 12:24
Автор: Vladimir00 Статус: Незарегистрированный пользователь
|
Привет!
Как на "красиво" перевести на C такой фрагмент
pascal-программы:
const
maxA=10;
maxB=20;
type
tA=string[maxA];
tB=string[maxB];
var
r=record a: tA; b: tB end;
Мне важно сохранить определение типов
tA, tB, но в C записать:
#define MAXA 10
typedef char[MAXA] tA;
синтаксически невозможно (? по крайней мере gcc
ругается).
Как обычно в C решается такая задача (использовать однократно
описанный "тип: массив с N-элементами" в определении структуры
и в объявлении в отдельных переменных) ?
Спасибо заранее
|
|
А куда бы ты в C поставил имя переменной, если бы объявлял массив? 30.05.05 10:22
Автор: amirul <Serge> Статус: The Elderman
|
typedef точно так же объявляет переменную, но с типом <тип такой-то>
> #define MAXA 10 > typedef char[MAXA] tA;
typedef char tA[MAXA];
поможет отцу русской демократии
|
|
Pascal -> C: как перевести type в typedef 29.05.05 16:28
Автор: jiZo <Александр> Статус: Member
|
Хе.....вопрос конечно интересный...... :)
Если без особых заморочек можно попробовать следующее...
const int MaxA=10, MaxB=20;
typedef struct
{ char aa[MaxA];} tA;
typedef struct
{ char bb[MaxB];} tB;
struct r
{ tA a;
tB b; };
Т.е. объявить tA и tB как структуру из одного элемента
|
|
|