我有这个函数,bits_show,打印到标准输出一个2-3位长的代码。使用for循环将字符存储到字符串中?
void bits_show(bits *a)
{
int i;
for (i = 0; i < a->next; i++)
putchar(a->bits[i]);
}
其中位:
struct bits {
int capacity;
int next;
char *bits;
};
我试图写一个函数,字符* bits_char(位一)捕获这些字符,并将其收集到一个单一的字符文件。
这是我迄今为止,但它一直吐痰错误:
char* bits_char(bits *a)
{
char* str = (char*) malloc(sizeof(a->next * char));
int i;
for (i=0; i<a->next; i++){
str[i] = (a->bits[i]);
}
return str;
}
“bits.c:在函数 'bits_char':
bits.c:33:错误:可变大小的对象可能不被初始化
bits.c:37:警告:函数返回本地变量”
我添加了一个malloc,但我仍然收到一个错误,指出malloc行上的“char'之前的期望表达式”。 – 2013-03-13 22:02:49
更新代码并显示malloc – 2013-03-13 22:11:22
我刚更新问题 – 2013-03-13 22:13:14