我有這個函數,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