gpt4 book ai didi

c - 为什么 malloc 使用零大小?

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:34 24 4
gpt4 key购买 nike

<分区>

这是我的代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main()
{

char* p;
p = (char*)malloc(0);
scanf("%s", p);
printf("%s", p);
free(p);
}

有人可以向我解释为什么我通过终端输入的每个词都会打印给用户吗?我有 malloc(0)。当我尝试 scanf 时不应该给我一个 segmentation fault 吗?

编辑

为什么这会给我一个编译错误:

p = malloc(sizeof(char) * 2)

当我试图避免 (void*)

error: cannot initialize a variable of type 'char *' with an rvalue of type 'void *'

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com