calloc

    -3热度

    2回答

    我想创建一个封装动态分配数组的结构。它看起来像这样: typedef struct IntArray { int *field; size_t length; } IntArray; 然后,我有创造这样的IntArray结构的函数: IntArray *createIntArray(size_t length) { IntArray *output;

    0热度

    1回答

    我有下面的代码,它应该使用calloc(它是一个玩具四叉树构建程序,因为它发生)分配宽度和高度imageWidth的二维数组。第三个调试打印是为了跟踪循环过程中图像[0]到[10]中阵列发生的情况。 /* allocate pointer array memory */ char** image = calloc (imageWidth, 1); if (image == NULL) errM

    0热度

    1回答

    运行程序Valgrind时,它表示在结构的转换指针处存在“大小为8的无效读取”。它与calloc有什么关系?如果按原样读取则为(无)。 具有结构(被称为线索),它的用法如下: #include <stdio.h> #include <stdlib.h> #include <string.h> #include <limits.h> const int MAX_SIZE = 20; s

    2热度

    3回答

    malloc函数声明: void *malloc(size_t size); 这里,malloc返回void指针。所以,A void函数什么也没有返回,然后 为什么我们将malloc(函数调用)赋值给指针? 例如: int *ptr; ptr = malloc(10 * sizeof (*ptr)); ^^^ 是什么返回值从malloc()持有???

    0热度

    2回答

    我试图使用释放calloc创造1000个字符长字符串动态数组: int i; char** strarr =(char**)calloc(argc,sizeof(char)*1000); if(strarr == NULL) return 0; strarr[0][0] ='a'; printf("%c\n",strarr[0][0]); 每次我尝试运行这段代码我上的prin

    -2热度

    1回答

    由于某种原因,当我重新分配使用calloc创建的数组的大小时,它将删除已输入的值,也许其他事情正在发生,但我不明白为什么。我已经改变了代码,以便它包含了它需要工作的一切,对不起,我忘了这一点 #include <stdio.h> #include <stdlib.h> int main(void) { unsigned int arraySize; // size of array in

    0热度

    1回答

    清分,填充和操作与指针指针数组构建 我的测试列表不知道的测试的次数在启动。 测试次数和每个测试的内容将在稍后来自数据库。 测试的顺序应该很容易改变,测试应该可以单独删除/插入顺序。 由于我可以确定查询数据库的测试数量,我想先分配一个指向所有测试的指针数组,然后为每个测试分别分配内存。由此我可以通过交换指向测试的指针来重新排序序列,并且还能够将新测试移除或插入到序列中。 我写了一个小程序,可以用gd

    1热度

    1回答

    我正在写一个函数从文件中获取文本,当我尝试释放一些calloc'd内存时遇到问题。 ye. wee.\n 当上面的txt文件被传递时,函数为ye的3个char字符分配内存。并将它们复制进来。然后为其他6个字符分配内存并将它们复制进来。然后它将打印相应的字符串并释放内存。 testFor()是一个函数,它返回第一个“。”的索引。在一个字符串中。 我已经检查了gdb中的程序,当它碰到空闲(键)时,

    -3热度

    4回答

    我想知道是否有可能以释放char *(串)与calloc而是多次分配的字符。 char * signal; for (int i = 0 ; i < n ; i++) { signal = (char*) calloc(n, sizeof(char)); if (a = true) { signal[i] = 1; } /* do stuf

    -1热度

    1回答

    我用这个简单的代码得到了一个奇怪的“分段错误:11”,无法弄清楚问题所在。我只需要动态声明和大小为nrows x ncolumns的数组。 #include <stdlib.h> #include <stdio.h> int main() { int nrows = 3; int ncolumns = 5; int **array; array =