【问题标题】:How to write this C Source code in Javascript如何用 Javascript 编写此 C 源代码
【发布时间】:2022-11-20 08:58:35
【问题描述】:

我正在将 C 源代码转换为 javascript 但我遇到了一些问题,我不知道如何在 javascript 中编写此 c 方法 `

void create_board(int r, int c, int w) {
    board = malloc((r * c) * sizeof(int));
    for (int i = 0; i < r; i++) {
        for (int j = 0; j < c; j++) {
            board[i * c + j] = -1;
        }
    }
    
    num_rows = r;
    num_cols = c;
    num_win = w;
}

` 有人可以帮我用 javascript 编写这段代码吗?

我尝试了很多解决方案,但对我没有任何用处。

 create_board(r,c,w) {
        // this.#board = [];
        this.#board = this.#num_rows * this.#num_cols * ;
       
        for (let i = 0; i < r; i++) {
            for (let j = 0; j < c; j++) {
               this.#board[i * c + j] = -1;
            }
        }
        
        this.num_rows = r;
        this.#num_cols = c;
        this.num_win = w;
        }

【问题讨论】:

  • JavaScript 没有“malloc”,它不需要直接分配内存。如果您想要特定大小的数组,请参阅the docs
  • 您必须展示 malloc() 的用途,才能知道如何最好地实现 Javascript 的最终目标。 nodejs 有 Buffer.alloc(),但一般来说,您只需将数组或字符串用于动态数据,语言会为您管理空间,而不需要像 malloc() 这样的东西。

标签: javascript node.js c malloc


【解决方案1】:

一个空数组(将根据需要调整大小)或创建一个预先确定大小的数组:

new Array(r * c)

【讨论】:

  • 这可能不正确,因为 c 是一个 int 的大小。在 JS 中,你只需创建一个包含所需数量元素的数组——你不必考虑元素的大小,因为语言会为你处理。
猜你喜欢
  • 2011-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-22
  • 2015-04-27
  • 1970-01-01
  • 2020-08-24
  • 2012-09-23
相关资源
最近更新 更多