C中2维数组的Typedef

时间:2013-07-21 09:45:32

标签: c arrays multidimensional-array typedef

有没有办法在C中输入二维数组?类似的东西:

typedef char[10][10] board;

此示例无法编译。有什么办法吗?还是其他任何解决方案?

2 个答案:

答案 0 :(得分:15)

试试这个:

typedef char board[10][10];

然后你可以这样定义新数组:

board double_array = {"hello", "world"}; 

与以下相同:

char double_array[10][10] = {"hello", "world"};

答案 1 :(得分:5)

类型定义声明

  

类型定义语句用于允许用户定义的数据类型   使用其他已有的数据类型定义。

基本格式:

typedef existing_data_type new_user_defined_data_type;

所以,你的应该是:

typedef char board[10][10];

你可以像Yu Hao所说的那样使用它,或者你也可以用char指针来定义像这样的2D数组:

typedef char *board[10];

然后你可以按照YU Hao所描述的那样做。 在这种方式中,您无需硬编码要用于字符串的字符数。