calloc 相关问题

calloc函数在C中执行动态内存分配,是标准库的一部分。

为什么 calloc 函数只分配 1 作为内存大小?

我正在尝试读取一个文件并用文件中的所有字符填充一个数组。问题是在 while 循环中执行停止并且出现分段错误。这是国际...

回答 0 投票 0

为什么memset失败而calloc成功?

我正在尝试初始化一个包含 26 个字符串的数组。我不希望将数组放在堆上,但是当我尝试使用 memset 将内存分配给数组时出现分段错误。代表的代码...

回答 5 投票 0

CS50 pset 4 笑脸 - 许可证任务中的代码行是什么意思?

RGBTRIPLE (*image)[width] = calloc(height, width * sizeof(RGBTRIPLE)) 我不完全理解代码。我的理解是: calloc(height, width * sizeof(RGBTRIPLE)) - 我们正在组织一个 ...

回答 2 投票 0

为什么同时使用 malloc/calloc/realloc 和 brk 函数会导致未定义的行为?

这是否意味着同时使用(malloc 或 calloc 或 realloc)之一和(brk/sbrk)之一会导致 UB,或者同时使用 malloc 和 calloc 也会导致 UB? 这发生在整个程序中......

回答 2 投票 0

使用calloc()代替malloc()和memset()有什么好处吗?

我想知道calloc()是否比malloc和memset更可取。后者似乎是分配和初始化内存的最常见方式。在github上搜索代码,发现...

回答 1 投票 9

用calloc()分配一个结构体。成员的初始化值是多少?

例如,我有一个结构体s{ char c; int x; }; 我使用calloc()来分配内存。 s *sp = (s*) calloc(1, sizeof(s)); 现在,sp->c和sp->x的值将是什么?

回答 1 投票 0

C语言中三维数组的问题

我定义了这样的三维数组,但它不能读取任何字符串,问题出在哪里?问题出在哪里?谢谢!int stuTotal,courseTotal,i,k;/一个动态数组printf("输入总数......"。

回答 2 投票 0

为什么我在没有指定长度的情况下声明一个字符串数组,它仍然可以工作?无论是否有动态分配

#include int main(){ char mystring[] = {0}; scanf("%[^//n]s", mystring); printf("%sn/%d/n", mystring, strlen( mystring)); }。輸出:"dyn_mem"。$ . "dyn_mem" ...

回答 1 投票 0

我应该如何释放一个结构体的数组?

我经常想做一些类似下面的代码示例。main()中的free通常会导致一个错误。错误的开头是:"Error in `.stackover"。"Error in `.stackoverflow': free(): invalid next size (normal): ..." and ....

回答 1 投票 0

与c中的calloc和自由函数有关的问题

我是C语言的新手:int * i =(int *)calloc(10,sizeof(int)); i [0] = 3; i [1] = 1; i [2] = 2; i [3] = 5; printf(“ before:%d%d%d%d \ n”,i [0],i [1],i [2],i [3]); printf(“ before:%d%d \ n”,i,(i + 3)); free(i)...

回答 1 投票 1

仅在数组中有足够空间的情况下,如何保存scanf输入?如何重新分配数组以使scanf输入适合?

#include int main(){char * mystring = calloc(2,sizeof(char)); scanf(“%10 [^ \ n] s”,mystring); printf(“ \ nValue:%s \ n数组大小:%d \ n分配的空间:%d \ n”,...

回答 2 投票 0

管道的写操作会覆盖分配的内存空间

我的程序很大,所以我将重点介绍主要问题并添加一些详细信息。我的代码的第一部分:int myPipe [2]; //一个全局变量,因此我不必将其传递给将来...

回答 1 投票 0

何时释放C代码中的内存?

例如,当我在while循环之外分配内存时,可以在其中释放内存吗?这两个代码是否等效? int *内存= NULL;内存= malloc(sizeof(int)); if(内存!= NULL){...

回答 6 投票 3

用calloc创建的以空字符结尾的字符串?

我想使用calloc为字符串分配内存,我知道calloc用0填充整个分配的内存,但是我还发现在某些情况下它们与\ 0不同。这整个...

回答 1 投票 0

通过calloc()分配结构:所有成员都初始化为0吗?

例如,我有一个struct s {char c; int x; };我使用calloc()分配内存。 s * sp =(s *)calloc(1,sizeof(s));现在,sp-> c和sp-> x的值是什么?

回答 1 投票 -1

C | calloc():如果类型不是数字怎么办

例如,我有一个struct s {char c; int x; };我使用calloc()分配内存。 s * sp =(s *)calloc(1,sizeof(s));现在,sp-> c和sp-> x的值是什么?

回答 1 投票 -1

calloc零输出字节后是否进行重新分配?

我一直在阅读“如何重新分配使用calloc分配的一些内存?”。现在,我想知道如果块较大,则紧跟在calloc之后的realloc是否会将新字节清零。愚蠢的例子:#...

回答 1 投票 1

向结构变量分配内存的问题

下面是我的问题的最小代码,可复制。我不知道为什么这段代码会像我期望的那样打印512。#include #include #include ... ]

回答 1 投票 0

Valgrind坚持认为堆上仍然有内存,但是我正在释放指向我拥有的堆的唯一指针

我正在使用Valgrind在我的代码中查找任何内存泄漏,根据输出,仍有17个字节仍可访问,其中1个分配和0个释放:== 9413 == == 9413 ==堆摘要:= = 9413 ==在...

回答 2 投票 -1

无法动态分配大小为10的数组

我正在尝试动态分配大小为10的数组。但是,当我打印该数组的元素时,得到的值为8个元素。 (我正在使用hackerrank提供的编辑器。)#include

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.