我正在尝试创建一个二维字符数组来存储字符行。例如:
lines[0]="Hello";
lines[1]="Your Back";
lines[2]="Bye";
由于行必须是动态的,因为我一开始不知道需要多少行。这是我的代码:
int i;
char **lines= (char**) calloc(size, sizeof(char*));
for ( i = 0; i < size; i++ ){
lines[i] = (char*) calloc(200, sizeof(char));
}
for ( i = 0; i < size; i++ ){
free(lines[i]);
}
free(lines);
我知道每行不能超过 200 个字符。我不断收到诸如“错误 C2059:语法错误:'for'”之类的错误。对我做错了什么有什么想法吗?
不,代码不在函数中。
您不能将任意语句放在 C 和 C++ 的函数之外。您可以做的是使用函数来初始化变量:
char** init_lines() {
char** ln = /* ... */;
// your allocations etc. here
return ln;
}
char** lines = init_lines();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)