gpt4 book ai didi

c - malloc分配的内存大小

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

我正在将一个新的内存块分配给一个指针,但显然该 block 的大小不是我作为参数传递给 malloc 的大小

char *q="tre";
printf("q in main %zu\n", sizeof(q));
q = (char*)malloc(6);
printf("q in main %zu\n", sizeof(q));

输出

8
8

然而,指针确实指向一个新的内存块。这怎么可能?

最佳答案

sizeof 返回指针的大小,在你的例子中它是 (char*),它不会给出 malloc 分配的内存.将内存大小保存在单独的变量中以备后用。

关于c - malloc分配的内存大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21422509/

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