下面是我的代码
int main(){
char *movies[500];
int i=0;
while(*(movies[i])!='$'){
scanf("%s",(movies[i]));
i++;
}
}
输出是一个段错误。有人可以解释一下吗?
最佳答案
movies[i] = malloc(<size>);
在写入内容之前为每个指针分配内存。
你的指针 movies[i]
没有指向任何有效的内存位置,你试图写入它,这将导致未定义的行为,从而导致崩溃。
一旦完成使用内存 free()
相应地
关于c - C语言如何使用数组的数组来存储变长的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28025847/