c - 如何在 C 中使用动态矩阵

标签 c dynamic matrix malloc

我有一个自己定义的数据类型,我想创建一个该数据类型的矩阵,但我无法使用它。

我有 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 是不安全的,请为您的系统使用更安全的替代方案 - strlcpystrcpy_s。或者你可以按照 H2CO3 的建议。

关于c - 如何在 C 中使用动态矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19234255/

相关文章:

c - 如何使用命令行参数输入数据并将数据转换为大写

c - 与 Verilog 仿真实时通信

c - 使用 GSL 构建 3x3 反射矩阵

c - 使用 openMP 进行 Boyer moore 字符串搜索

c - 使用 UDP 的 Whois 服务

jquery - 基于另一个元素的动态高度(jQuery)

c# - 是否有使用 Linq 直接动态查询数据库的库?

javascript - python scrapy : scraping dynamic information

c - 从 C 文件中获取矩阵

c++ - 使用 C++ 转置矩阵