use*_*190 10 c arrays typedef multidimensional-array
有没有办法在C中键入一个二维数组?就像是:
typedef char[10][10] board;
Run Code Online (Sandbox Code Playgroud)
此示例无法编译.有什么办法吗?或任何其他解决方案?
Yu *_*Hao 17
试试这个:
typedef char board[10][10];
Run Code Online (Sandbox Code Playgroud)
然后你可以定义新的数组:
board double_array = {"hello", "world"};
Run Code Online (Sandbox Code Playgroud)
它与以下相同:
char double_array[10][10] = {"hello", "world"};
Run Code Online (Sandbox Code Playgroud)
类型定义声明
类型定义语句用于允许使用其他已有的数据类型定义用户定义的数据类型.
基本格式:
Run Code Online (Sandbox Code Playgroud)typedef existing_data_type new_user_defined_data_type;
所以,你的应该是:
typedef char board[10][10];
Run Code Online (Sandbox Code Playgroud)
您可以使用它,因为Yu Hao已经说过或者您也可以使用它与char指针来定义像这样的2D数组:
typedef char *board[10];
Run Code Online (Sandbox Code Playgroud)
然后你可以按照YU Hao所描述的那样做.在这种方式中,您无需硬编码要用于字符串的字符数.