gpt4 book ai didi

c - 我应该将指针更改为数组吗?

转载 作者:行者123 更新时间:2023-11-30 18:38:10 24 4
gpt4 key购买 nike

for (int a=0; a<10; ++a) {
printf ("%d", a);
}

char *foo;
foo = (char*)malloc(a);

我想在 foo 变量中存储多个 char 值。

Should I change it to an array, since the buffer is only allocating 1 char length?
Is 1 the longest length that can be stored in this buffer?

最佳答案

好吧,foo 现在指向 a 字节的一些可用地址,因为这就是 malloc() 的工作原理。无论其类型是 char *void * 还是其他类型,都只能使用 a 字节。

在这里,您将a增加到10。这意味着您可以存储10个字节,即10个char(因为在C语言中,1个字符= 1 byte),从 foo 指向的地址开始。使用指针或数组是严格等效的。

关于c - 我应该将指针更改为数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34730184/

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