So I apologize in advance for maybe not being able to articulate this very well. I am quite new to this and am learning as I go along. I am looking to initialize a struct that has a struct pointer to another struct inside of it. Check below.
struct GraphicElement { char* fileName; struct GraphicElement* pNext; }; struct RasterGraphic { struct GraphicElement* GraphicElements; }; I am writing functions to add or delete graphic elements but before that I make a call to a function where I would like to do the initialization which is where I am having trouble.
int main(void) { char response; BOOL RUNNING = TRUE; struct RasterGraphic RG; _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); InitRasterGraphic(&RG); } I make the call to init here and below will be my attempt.
void InitRasterGraphic(struct RasterGraphic* pA) { pA->GraphicElements = malloc(sizeof(struct GraphicElement)); pA->GraphicElements = 0; return; } I have tried many other things but none seem to work with that I want to do. I want to initialize everything. I have another function that prints the elements but it crashes and I get an error that It cannot read the memory where fileName and pNext are. Again this is the first time I post a question on here. I am hoping ive covered all my bases and that ive asked it properly. Thank you.
pA->GraphicElements = malloc(...)and then immediately dopA->GraphicElements = 0. Think about that for a little while. In my opinion one of those is almost correct (and it's not any allocation).