C dynamic array initialization problem -
i'm having problem initializing array of structs in c program. here's function gets initialized:
void initializebpstructures() {     satcountertable = (struct satcountertableentry *)malloc(sizeof(struct satcountertableentry) * counter_count); }   counter_count integer global variable , satcountertable declared earlier in c source file 
static struct satcountertableentry* satcountertable;   and if it's relevant satcountertable struct
struct satcountertableentry {     enum satcounter_state predict_state;     md_addr_t tag; };   md_addr_t label unsigned int corresponding memory address
the problem when try , compile, following error
sim-safe.c:129: error: expected expression before ‘=’ token   and array initialization in intitializebpstructures() on line 129. i'm not sure why line problem. ideas?
edit:
here's additional lines of code around function
    struct satcountertableentry {     enum satcounter_state predict_state;     md_addr_t tag; };  /* simulated registers */ static struct regs_t regs;  /* simulated memory */ static struct mem_t *mem = null;  /* track number of refs */ static counter_t sim_num_refs = 0;  /* maximum number of inst's execute */ static unsigned int max_insts;  static struct satcountertableentry* satcountertable;  void initializebpstructures() {     satcountertable = (struct satcountertableentry *)malloc(sizeof(struct satcountertableentry) * counter_count); }  void branchpredict(md_addr_t pc, md_addr_t nextpc, enum branch_result result) {     if (result == n)         sim_num_mispred_static++;     if (result != (myrand() % 2))         sim_num_mispred_random++;          sim_num_br++;  }      
you're missing semicolon @ line 126.
edit: new idea
do perhaps have #define =?
#define counter_count = 42; /* wrong */ #define counter_count = 42  /* wrong */ #define counter_count 42;   /* wrong, works time */ #define counter_count 42    /* correct */      
Comments
Post a Comment