Как "typedef" матрица в C - PullRequest
4 голосов
/ 28 июля 2010

при определении новых типов данных в C можно сделать

    typedef double BYTE;

так что позже можно сделать

BYTE length;

и т.д.

Я хотел бы сделать что-то вроде

typedef double[30][30][10] mymatrix;

так позже я делаю

mymatrix AA[10];

поэтому у меня есть 10 матриц типа mymatrix, и я могу получить к ним доступ через AA [0], AA [1] и т. Д.

В любом случае, делая это с компилятором GNU C, я получаю сообщения об ошибках типа

error: expected unqualified-id before '[' token

Что я делаю неправильно или как я могу достичь своей цели?

Спасибо

Ответы [ 3 ]

5 голосов
/ 28 июля 2010

Простой ответ - определить объект с именем & объявленным так, как вы хотите, а затем вставить typedef впереди:

double mymatrix[30][30][10] ; // defines a 3-d array.


typdef double mymatrix[30][30][10] ; // defines a 3-d array type

mymatrix  matrix;
3 голосов
/ 28 июля 2010

Follow "объявление выглядит как использование" C идея:

typedef double mymatrix[30][30][10];
1 голос
/ 28 июля 2010

Используйте это:

typedef double mymatrix[30][30][10];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...