Tag: 动态

如何制作动态大小的数组? 动态数组的一般用法(也许是指针)?

我正在尝试制作一个程序 接受用户输入(假设所有这些都是int ) 将它存储在没有起始大小的数组中(即不是 – > array[5]; ); 然后 使用存储在数组中的信息用于任何险恶的目的。 我正在寻求帮助,以便我可以根据需要自行学习如何做到这一点。 如何在没有设置大小的情况下制作动态数组? 如何使用/访问/访问上述数组中的元素? 阅读对我来说不够解释。 我知道这是一个非常无聊的问题,是的,我是一个菜鸟,但要改变我需要一些帮助。

2D和3Darrays的动态分配/释放

我知道动态分配/解除分配2D数组的算法,但是对于3D数组我也不太清楚。 利用这些知识和一点对称性,我想出了以下代码。 (我在编码期间很难在3D中进行可视化)。 请评论正确性并建议任何更好的替代方案(效率方面或直观方面),如果有的话。 此外,我认为这些2D和3D数组都可以正常访问,如静态数组,如arr2D [2] [3]和 arr3D [2] [3] [2]。 对? 二维码 //allocate a 2D array int** allocate2D(int rows,int cols) { int **arr2D; int i; arr2D = (int**)malloc(rows*sizeof(int*)); for(i=0;i<rows;i++) { arr2D[i] = (int*)malloc(cols*sizeof(int)); } } //deallocate a 2D array void deallocate2D(int** arr2D,int rows) { int i; for(i=0;i<rows;i++) { free(arr2D[i]); } free(arr2D); } 3D代码 //allocate […]

将参数动态传递给可变参数函数

我想知道是否有任何方法可以动态地将参数传递给可变参数函数。 即如果我有一个function int some_function (int a, int b, …){/*blah*/} 我接受用户的一堆值,我想要一些方法将这些值传递给函数: some_function (a,b, val1,val2,…,valn) 我不想写所有这些function的不同版本,但我怀疑没有其他选择?

使用C调整数组大小

我需要在我正在制作的游戏中拥有一系列结构 – 但我不想将数组限制为固定大小。 我被告知有一种方法可以在需要时使用realloc使数组更大,但找不到任何有用的例子。 有人可以告诉我该怎么做吗?

动态分配矩阵的function

我想创建一个函数来分配(使用malloc / calloc )一个声明为双指针的矩阵。 我理解双指针矩阵如何工作以及如何使用malloc分配它,但是当我传递我的矩阵(在main()声明并初始化为NULL )时,我的程序崩溃了。 我想错误是我的allocMatrix()函数,因为如果我在main分配矩阵,所有工作都顺利进行。 谢谢 :-) 主要: #include #include #include “Data.h” #define ROW 5 #define COL 5 int main(void) { int i,j, ret; int nRow, nCol; int **mat=NULL; // double pointer matrix nRow = 0; nCol = 0; //Insert n of row and columns printf(“Insert n of rows and columns:\n”); scanf(“%d %d”, […]