typedef struct _PROPERTYITEM
{
char propName[255];
char curValue[255];
int nItemType;
char cmbItems[255];
char Description[255];
}PROPERTYITEM, *LPPROPERTYITEM;
typedef struct _PropertyDescriptor
{
int count;
struct _PROPERTYITEM* pit_pointer;
}PropertyDescriptor, *LPPROPERTYDESCRIPTOR;
U programu mi je potrebno da dinamicki kreiram broj PROPERTYITEM-a pa ih allociram kao:
static PropertyDescriptor PropertySpaceHoldeer;
static int PropertySpaceHoldeerPointer;
static int p_items;
p_items = 24; // alociraj prostor za 24 property item-a
PropertySpaceHoldeer.pit_pointer=calloc(p_items+1,sizeof(PROPERTYITEM));
Problem mi je da ne znam kako da pridjem clanovima struktura.
Za clanove tipa char uspio sam to rijesiti kao:
strcpy(PropertySpaceHoldeer.pit_pointer->propName+(sizeof(PROPERTYITEM)*PropertySpaceHoldeerPointer), PropertyName);
gdje mi varijabla PropertySpaceHoldeerPointer pokazuje na indeks kojem zelim pristupiti ali ne znam kako da pridjem int clanu (nItemType) na odredjenom indeksu.
Ovo vjerovatno spada u pocetnicka pitanja, ali nikad do sada nisam imao potrebu radim sa pointerima na array jedne strukture koja se nalazi unutar druge.
Pokusao sam ovo:
PropertySpaceHoldeer.pit_pointer->nItemType = 2 // ovaj je na 0-tom indeksu i to je OK, ali kako de pristupim recimo 15 indeksu.
PropertySpaceHoldeer.pit_pointer->nItemType[15] = 2 // to ne radi :(
Pozdrav,
Ljubisa