我有这个包含文件(内存.h)
#ifndef MEMORY_H #define MEMORY_H #ifdef __cplusplus extern "C" { #endif typedef struct mmemory { int* cells; int* current_cell; int cells_number; } memory; void memory_init(memory* mymemory,int size); void step_left(memory* mymemory,int steps); void step_right(memory* mymemory,int steps); void cell_inc(memory* mymemory,int quantity); void print_cell(memory* mymemory); void get_char(memory* mymemory); #ifdef __cplusplus } #endif #endif /* MEMORY_H */
而这个实现文件(memory.c)
#include <stdlib.h> #include "memory.h" void memory_init (memory* mymemory,int size) { mymemory->cells = (int*) malloc (sizeof (int) * size); mymemory->cells_number = size; mymemory->current_cell = (int*) ((mymemory->cells_number / 2) * sizeof (int)); } ... //other function definitions follow
src/memory.c:5: error: expected ‘)’ before ‘*’ token
其中第5行是memory_init()的函数定义
有人可以告诉我为什么我收到此错误?