C语言【不是VC】如何定义变长的字符串数组

兄弟姐妹们哪位知道,C语言【不是VC】如何定义变长的字符串数组?

不能用Cstring,每个字符串大小不一,谢谢了 不知道总长度,要求动态分配
最新回答
晚安旧恋人

2024-12-02 21:41:41

动态分配,必须知道长度..
当然,可以获取字符串长度.
void
Assign(char
**
p,char*
str)
{
if(*p)
free(*p);
*p
=
(char*)malloc((strlen(str)+1)*sizeof(char));
strcpy(*p,str);
}
void
main(){
char
*
StrArr[100];
//
100个字符串数组
int
i;
for(i=0;i<100;i++)
{
StrArr[i]=NULL;
}
Assign(&StrArr[0],"hello,world!");
for(i=0;i<100;i++)
{
if(StrArr[i])
free(StrArr[i]);
}
}