(C) N x N 零数组
(C) N x N Array of zeros
我是 C 的新手,想创建一个 N x N 的零矩阵(即每个元素都为零)。 N为整数。
使用 MATLAB 我设法使用代码生成了这样一个数组:
Array = zeros(N);
但是,在 C 中,我们如何使用最少的代码行生成这样的数组?
提前致谢。
随便写
T matrix[N][N] = { 0 };
其中 T
是某种类型说明符,例如 int
.
如果 N 是整数常量表达式,则允许这样的初始化。
否则你需要写
#include <string.h>
//...
T matrix[N][N];
memset( matrix, 0, sizeof( matrix ) );
您可以使用通常在堆上分配内存的 calloc
函数分配内存(如果 N
是 large,这很好):
#include <stdlib.h>
//...
int(*dyn)[N] = calloc(N, sizeof *dyn);
// use dyn
free(dyn);
我是 C 的新手,想创建一个 N x N 的零矩阵(即每个元素都为零)。 N为整数。
使用 MATLAB 我设法使用代码生成了这样一个数组: Array = zeros(N);
但是,在 C 中,我们如何使用最少的代码行生成这样的数组?
提前致谢。
随便写
T matrix[N][N] = { 0 };
其中 T
是某种类型说明符,例如 int
.
如果 N 是整数常量表达式,则允许这样的初始化。
否则你需要写
#include <string.h>
//...
T matrix[N][N];
memset( matrix, 0, sizeof( matrix ) );
您可以使用通常在堆上分配内存的 calloc
函数分配内存(如果 N
是 large,这很好):
#include <stdlib.h>
//...
int(*dyn)[N] = calloc(N, sizeof *dyn);
// use dyn
free(dyn);