2015-05-09 5 views
0

В контексте this question, я придумал следующий кодДекларирование и инициализация массива с указателями на массивы массивов

typedef char Tuple[2]; 

Tuple test1[2] = {{1,2},{1,2}}; 
Tuple test2[3] = {{1,2},{1,2},{1,2}}; 
Tuple test3[4] = {{1,2},{1,2},{1,2},{1,5}}; 

Tuple* all[3] = {test1, test2, test3}; 

для хранения указателей на массивы массивов (2-кортежей) в инициализированную списке , Однако мне не удалось написать эквивалентный код без использования typedef. Каким будет правильный синтаксис для этого?

ответ

1
char test1[2][2] = {{1, 2}, {1, 2}}; 
char test2[3][2] = {{1, 2}, {1, 2}, {1, 2}}; 
char test3[4][2] = {{1, 2}, {1, 2}, {1, 2}, {1, 5}}; 

char (*all[3])[2] = {test1, test2, test3}; 

Сохраните типед.

+0

Спасибо. Он также работает без указания размера массива ('all []'). Кажется противоречивым, что '[2]' будет идти в конце. Каково это правило? – fuenfundachtzig

Смежные вопросы