Jump to content
Larry Ullman's Book Forums
Sign in to follow this  
girlsome

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] = { 1114101145200,};

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.

Share this post


Link to post
Share on other sites

So sorry for the delayed reply! This got lost in my browser tabs! Let me know if you still need help with this. I'm going to be away from my keyboard for the next week but, if you still need assistance, I'll get back to you after I'm back online. Apologies again!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×