字符指针和 malloc

杰森

我对字符指针的概念有点困惑,所以我做了一个简单的代码,只是打印用户(我)提供的名字。我也想练习malloc,所以我引用了指向RAM中某个内存的指针,但我真的不知道在“sizeof(char) *”后面放什么,因为这是用户输入,尚未决定。此外,在这样做之后,我释放了内存,但我在命令行上收到一条错误消息:

*** Error in `./char': double free or corruption (fasttop): 0x00000000017fe030 ***
Aborted

似乎我释放了两次相同的内存或其他东西,但我不知道要删除或添加什么。请帮忙!

#include <stdio.h>
#include <cs50.h>

int main (void)
{

    char *strings = malloc(sizeof(char) * 10);


    printf("What is your name?\n");

    //wait for use to type his/her name
    strings = get_string();


    printf("Hello %s\n", strings);

    free (strings);

    return 0;
}
因陀螺

内存在以下语句中分配:
strings = get_string();

你不必这样malloc做 ( char *strings = malloc(sizeof(char) * 10);)

没有malloc它会正常工作

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章