gpt4 book ai didi

c - 为什么使用字符指针的大小

转载 作者:行者123 更新时间:2023-11-30 21:36:47 25 4
gpt4 key购买 nike

What is the meaning of this statement?

char *str[10];  

为什么我们需要指定尺寸?

最佳答案

正如评论中已经指出的,char *str[10]; 描述了 char 指针数组。例如,如果该对象将包含的字符串长度直到运行时才知道,这将很有用。一旦在运行时,确定每个char *的字符串长度需要为25(例如),则可以在堆上动态创建内存:

for(i=0;i<10;i++)
{
str[i] = calloc(26,1);//room for 25 char plus NULL terminator for each char *
}

如果在运行时之前已知字符串长度,则可以在堆栈上创建 char 数组的数组,如下所示:

char str[10][26]

这两种方法都可以创建字符串数组。第一种方法要求在使用完对象后释放内存:

for(i=0;i<10;i++)
{
if(str[i]) free(str[i]);
}

关于c - 为什么使用字符指针的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44950556/

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