我有一个自己定义的数据类型,我想创建一个该数据类型的矩阵,但我无法使用它。
我有 typedef 字符数据[10];
data **matrix;
matrix=(data**)malloc(n*sizeof(data*));
for (i=0;i<x;++i)
matrix[i]=(data*)malloc(m*sizeof(data));
matrix[i][j]="example";
但在最后一行中,即使我使用相同类型的数据(在本例中来自动态 vector ),我也会收到一条错误消息,指出类型不兼容。 创建或使用矩阵是否有错误?
最佳答案
这里
matrix[i][j]="example";
你分配给非法的数组。试试这个:
strcpy( matrix[i][j], "example" );
请注意 strcpy
是不安全的,请为您的系统使用更安全的替代方案 - strlcpy
或 strcpy_s
。或者你可以按照 H2CO3 的建议。
关于c - 如何在 C 中使用动态矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234255/