【问题标题】:How to declare a matrix with two columns and unknown number of rows in C如何在C中声明具有两列和未知行数的矩阵
【发布时间】:2021-08-17 15:53:52
【问题描述】:

我需要创建一个包含 2 列和未知行数的矩阵。我知道我必须使用 malloc 但我找不到如何声明这样的矩阵。它应该在第一列中保存整数,并在第二列中加倍。我该怎么做?

【问题讨论】:

  • 要获得有用的答案,您首先需要告诉我们您尝试了什么以及您遇到的问题,因此我们可以确定您尝试自己解决这个问题。该网站不是家庭作业服务。
  • “第一列应该是整数,第二列应该是双倍”——那么它就不是一个“矩阵”。

标签: arrays c matrix


【解决方案1】:
struct item {

  int i;
  double d;
};

struct item matrix = malloc(sizeof(struct item) * number_of_rows)

matrix[0].i = 544343;
matrix[0].d = 0.3434343;

这是您要查找的代码吗?

【讨论】:

  • 请使用更有意义的名称!
  • 类似的东西是的,但它不应该是类似的东西 //int num = something;双 *matrix=malloc(sizeof(double)*num);矩阵[][2]={{0}};
  • C 数组(矩阵是二维数组)中的 @spaceNugget 只能包含同质数据。这就是为什么 Ed 向您展示了记录数组(结构)的实现,每个记录由一个整数和一个双精度数组成。
  • @Robert 解决了我所指的问题。评论已删除。
  • 你可以说它是一个两列的矩阵。一个是 int,另一个是 double
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-11
相关资源
最近更新 更多