gpt4 book ai didi

c - 为什么使用 malloc?

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

<分区>

我一直在努力理解什么是 malloc() 以及为什么要使用它。我知道 malloc 用于动态分配内存,如果您不知道不想创建多少内存,则需要它。我一直在做一些实践。

以下代码声明了一个字符指针数组,第一个字符指针用“hello”初始化。这很好用。

int main()
{


char *strarray[5];
strarray[0]="hello";
printf("%s\n",strarray[0]);
return 0;
}

但是如果我尝试使用 strcpy() 函数将“hello”字符串复制到 strarray[0](没有 malloc()),则会出现问题。它进入某个循环并且不复制字符串。如果我使用 malloc 分配内存,它工作正常。

int main()
{

char *strarray[5];
//strarray[0]=(char *)malloc(sizeof(char)*10);
strcpy(strarray[0],"hello");
printf("%s\n",strarray[0]);
return 0;
}

我想知道有什么不同?如果我可以将“hello”初始化为一个没有使用 malloc 的 char 指针,为什么我不能用 strcpy() 做同样的事情。

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