malloc

    -1热度

    1回答

    我想长大字符数组的数组如下: char input_channel_name[ 20 ][ 36 ]; 列数永远是36,但行数可以改变。当我打开我的文件,我可以抓住频道名的数量为整数number_of_channels_in 我试图将其转换为后续的代码(有Resizing 2D Arrays in C帮助)没有运气: #define ROWS 20 #define COLS 36 mai

    0热度

    2回答

    我是C新手,并试图在结构内部有一个动态数组,我需要添加一个动态数量的项目。 如果我使用malloc与一个大号(如+100000)初始化容器时,程序工作正常。 但是,如果我只是分配sizeof(struct ...)内存,然后尝试使用realloc重新分配,则当我尝试向数组中添加新项目时,程序崩溃。即使我在重新分配时增加了+1000000大小,它仍然会崩溃,而如果我在首先分配时使用它,则大小相同。

    -1热度

    1回答

    我想要一个动态数组的字符串,所以指向数组的指针。 这是我的代码(打印后,我的程序崩溃): typedef struct person{ char *name; char **children; struct person *nextPerson; }Person; int main(){ int kidsNum = 1; int i;

    1热度

    1回答

    我试图编译使用GCC一个64位CPP代码,然而多维(即2D)阵列的存储器分配返回NULL一次我从46000增大元件尺寸至46,500。我的虚拟内存设置为96GB,并且硬件正在运行使用32GB Ram的64位操作系统。 只要MAX_VERTICES不超过46000代码工作正常。 以下是我试图动态分配: struct ShortestPath { real32 totalWeight;

    2热度

    1回答

    我有一个指向结构的指针,并尝试释放内存中的一个公共函数。所以我发送一个指针指向我的销毁函数,如下面的代码。 最初,我想取消分配stuct的char *成员,然后结构本身。 当我尝试释放成员时,它给了我Bus error (core dumped),但是单独释放结构是可以的! 注意:我添加了printf,我可以看到我可以在里面打印字符串。 任何帮助将不胜感激。 const size_t name_s

    0热度

    2回答

    我怎样才能释放一个字符串到某个点?例如,如果我有: char *s = (char *)malloc(sizeof(char) * 21); s[20] = '\0'; int i = 0; while (i < 21) { s[i] = i + 'a'; i++; } 然后我切断串在某些时候和存储半: *(s + 10) = '\0'; char *m = s

    1热度

    2回答

    我有以下代码,使用C的指针涉及 void f(void) { int a[4]; int *b = malloc(16); int *c; int i; printf("1: a = %p, b = %p, c = %p\n", a, b, c); c = a; for (i = 0; i < 4; i++)

    0热度

    2回答

    我正在尝试写入我已使用malloc()分配的一个字节。我真的很难正确打印出位和值。 int main(){ unsigned char *heap = (unsigned char *) malloc(2 * sizeof(char)); //allocate two bytes int n= 2, i =0; unsigned char* byte_array

    1热度

    1回答

    我正在macOS Sierra 10.12.3,Xcode 8.2.1和Instruments中运行一个C代码的玩具示例来可视化内存泄漏和分配。 看来这两个仪器都不能正常工作,或者编译器或运行时引擎足够聪明,可以自行解决内存泄漏问题。所有这一切,除非我在这里犯了一个错误,这是一个非常真实的第三种选择。让我来解释: 这是我的代码,第一个版本: #include <stdio.h> #include

    -1热度

    2回答

    此代码给出分段错误。由GDB调试它给这个错误: "Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7a6dde5 in _IO_vfscanf_internal (s=, format=, [email protected]=0x7fffffffdba8, [email protected]=0x0) at vfsca