定义结构体指针,结构体里的成员并没有分配内存

因为写习惯了双向链表,
所以定义结构体的时候都喜欢定义成指针。

typedef struct _SqlData
{
	char* ean; 
	char* name;
	int price1;
	double sku;

}SqlData;
SqlData* goods = NULL; 
goods->ean = "1101"; 

执行就会出错,内存溢出。
因为指针下的ean并没有分配内存, 我们只分配了 指针的内存。
所以我们写链表的时候,定义的结构体指针都会malloc
修改:

SqlData goods = {0}; 
goods.ean = "1101"; 
发布了56 篇原创文章 · 获赞 3 · 访问量 2372

猜你喜欢

转载自blog.csdn.net/qq_40674996/article/details/102588414