gpt4 book ai didi

c - 缓冲区大小不正确

转载 作者:行者123 更新时间:2023-11-30 18:43:01 36 4
gpt4 key购买 nike

我正在创建以下缓冲区:

char *buffer;
int buffer_size = 1024;
buffer = (char*) ( malloc(buffer_size * sizeof(char) );

然后当我这样做时:

int actual_size = sizeof(buffer);
printf("Size: %d", actual_size);

它打印的内容是:

size: 4

虽然我期望它是 1024,但这是为什么?

最佳答案

这不是那样的

 sizeof(buffer);

返回buffer的大小,它是一个指针,而不是一个数组。如果您有一个如下所示的数组

 char szArray[100];

然后

 sizeof(szArray);

将返回 100,因为 szArray 是一个数组,但指针不是数组。

关于c - 缓冲区大小不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13404192/

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