История изменений
Исправление
qulinxao,
(текущая версия)
:
всёж С(именно не об С++) переносимый ассемблер
и для духа ( наряду с листанием стандартов) полезно посмотреть как С эволюционировал
например из Лионовых коментариев(http://v6.cuzuco.com/)
/* structures to access integers : */
/* single integer */
struct { int integ;};
/* in bytes */
struct { char lobyte; char hibyte; };
/* as a sequence */
struct { int r[]; };
/* ------------------------- */
и затем к любому валидному(т.е указывающего на память ибо пространство имён полей общее ) p можно
было p->integ или p->lobyte или даже p->r[k]
это ещё до различений struct union чисто для духа.
так и здесь можно возвращать строку(если не указатель на) в которой s[0] это статусный байт -ошибок и прочего a s[1...] сам ответ если вообще есть.
ну или культурно и бюрократично создавать struct ( public class ) и ими оперировать.
Исправление
qulinxao,
:
всёж С(именно не об С++) переносимый ассемблер
и для духа ( наряду с листанием стандартов) полезно посмотреть как С эволюционировал
например из Лионовых коментариев(http://v6.cuzuco.com/)
/* structures to access integers : */
/* single integer */
struct { int integ;};
/* in bytes */
struct { char lobyte; char hibyte; };
/* as a sequence */
struct { int r[]; };
/* ------------------------- */
и затем к любому валидному(т.е указывающего на память ибо пространство имён полей общее ) p можно
было p->integ или p->lobyte или даже p->r
это ещё до различений struct union чисто для духа.
так и здесь можно возвращать строку(если не указатель на) в которой s[0] это статусный байт -ошибок и прочего a s[1...] сам ответ если вообще есть.
ну или культурно и бюрократично создавать struct ( public class ) и ими оперировать.
Исходная версия
qulinxao,
:
всёж С(именно не об С++) переносимый ассемблер
и для духа ( наряду с листанием стандартов) полезно посмотреть как С эволюционировал
например из Лионовых коментариев(http://v6.cuzuco.com/)
/* structures to access integers : */
/* single integer */
struct { int integ;};
/* in bytes */
struct { char lobyte; char hibyte; };
/* as a sequence */
struct { int r[]; };
/* ------------------------- */
и затем к любому валидному(т.е указывающего на память ибо пространство имён полей ) p можно
было p->integ или p->lobyte или даже p->r
это ещё до различений struct union чисто для духа.
так и здесь можно возвращать строку(если не указатель на) в которой s[0] это статусный байт -ошибок и прочего a s[1...] сам ответ если вообще есть.
ну или культурно и бюрократично создавать struct ( public class ) и ими оперировать.