为一个不定长的多维数字信号设计一个数据结构
时间: 2023-05-11 17:04:42 浏览: 92
可以使用多维数组来存储不定长的多维数字信号。在C语言中,可以使用指针来实现多维数组。具体实现可以参考以下代码:
int main()
{
int dim1, dim2, dim3; // 多维数组的维度
printf("请输入多维数组的维度:\n");
scanf("%d %d %d", &dim1, &dim2, &dim3);
int ***arr = (int ***)malloc(dim1 * sizeof(int **));
for (int i = 0; i < dim1; i++)
{
arr[i] = (int **)malloc(dim2 * sizeof(int *));
for (int j = 0; j < dim2; j++)
{
arr[i][j] = (int *)malloc(dim3 * sizeof(int));
}
}
// 对多维数组进行赋值
for (int i = 0; i < dim1; i++)
{
for (int j = 0; j < dim2; j++)
{
for (int k = 0; k < dim3; k++)
{
arr[i][j][k] = i * j * k;
}
}
}
// 输出多维数组的值
for (int i = 0; i < dim1; i++)
{
for (int j = 0; j < dim2; j++)
{
for (int k = 0; k < dim3; k++)
{
printf("%d ", arr[i][j][k]);
}
printf("\n");
}
printf("\n");
}
// 释放多维数组的内存
for (int i = 0; i < dim1; i++)
{
for (int j = 0; j < dim2; j++)
{
free(arr[i][j]);
}
free(arr[i]);
}
free(arr);
return 0;
}
阅读全文