I am writing a C project with pointers and structs, and right now facing this problem:
There is a structure
struct Customer
{
char Name[80];
char Address[40];
int ID;
int Pnumber;
};
and I am gonna make a dynamic array of this structs with *line_count* number of members. I use this code, but it crashes a program:
struct Customer* ph;
ph = (struct Customer*)malloc(line_count * sizeof(struct Customer));
What am I doing wrong?
Good:
Better:
But frankly, it sounds like the problem is elsewhere in your code.
There’s nothing fundamentally wrong with your malloc().
Maybe “line_count” is bogus, maybe “malloc()” is failing (in which case, it should return “NULL”) … or maybe you’re accessing the struct incorrectly and/or failing to initialize it correctly.
A stack traceback of the actual crash would be very useful.