Jump to content
Larry Ullman's Book Forums

C Static Structs


Recommended Posts

Hi All,

 

Im trying to solve a problem with C struct.

This is the structure of the struct in header file that is 'included':

 

struct plantbl {

char max_harmonic[9];

char max_power_of_t;

signed char *arg_tbl;

double *lon_tbl;

double *lat_tbl;

double *rad_tbl;

double distance;

};

 

 

To use this struct, the current code is in this format:

 

static struct plantbl FAR mer404 = {

{ 11, 14, 10, 11, 4, 5, 2, 0, 0,},

6,

merargs,

mertabl,

mertabb,

mertabr,

3.8709830979999998e-01,

};

 

However the above code produces this error:

 

/Users/bliss/Documents/iPhone_Programming/My XCode 4.1 Apps/SwissTest/swemptab.c:1091: error: variable 'mer404' has initializer but incomplete type

 

FAR btw is a Macro defined as:

 

 

# ifndef FAR

# define FAR

# endif

# define MALLOC malloc

# define CALLOC calloc

# define FREE free

#else

# ifndef FAR

# define FAR far

# endif

# ifdef __BORLANDC__

# include <alloc.h>

# define MALLOC farmalloc

# define CALLOC farcalloc

# define FREE farfree

# else

# define MALLOC _fmalloc

# define CALLOC _fcalloc

# define FREE _ffree

# endif

#endif

 

 

So anyway...I decide to recode the mer404 to something I thought will be equivalent to the intention of the code above but hopefully does not result in a error...

so I changed the code to:

 

 

char placeholder[9] = { 11, 14, 10, 11, 4, 5, 2, 0, 0,};

 

static struct plantbl FAR mer404 = {

placeholder,

6,

merargs,

mertabl,

mertabb,

mertabr,

3.8709830979999998e-01,

};

 

but I still get the following error:

 

 

/Users/bliss/Documents/iPhone_Programming/My XCode 4.1 Apps/SwissTest/swemptab.c:1080: error: variable 'mer404' has initializer but incomplete type

 

 

Now I don't understand why this would be happening....I am trying to feed in values to each of the 7 elements/properties of the struct plantabl..........

 

Can someone enlighten me on what to do to solve this problem please??? Thank you very much.... :)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...