C中的内存分割

时间:2015-05-06 20:01:53

标签: c pointers struct linked-list segmentation-fault

我在做作业时遇到了麻烦。我正在准备一个关于链表的小项目。 我写了一个程序,它向我显示有关分段错误的错误消息。我不知道,这些东西是什么意思,我有什么要做的。 我很期待收到你们的一些解决方案 这是代码

.col-md-11 .form-group {
    display: block;
    clear: both; 
    padding: 1em 0;
    margin-bottom: 0;
}

2 个答案:

答案 0 :(得分:3)

我不懂语言(用于变量命名和打印语句),但似乎

 scanf("%d",&(ptr->data->numero));

是问题所在。在解除引用之前,您需要将内存分配给ptr->data

为了解释,data也是一个指针。在使用内存之前,您需要为其分配内存[malloc()],就像您对ptr所做的那样。

同样的情况适用于

scanf("%s",(ptr->data->prenom));

此处,您需要在使用之前分配dataprenom

另外,请malloc() C tabBar.barTintColor = UIColor(red: 0.0, green: 0.0, blue: 90.0/255.0, alpha: 1) tabBar.translucent = false tabBar.tintColor = UIColor(rgba: "#B52519") var underlayView = UIView(frame: CGRectMake(0, 0, tabBar.frame.size.width, tabBar.frame.size.height)) underlayView.autoresizingMask = UIViewAutoresizing.FlexibleWidth | UIViewAutoresizing.FlexibleHeight underlayView.backgroundColor = UIColor(red: 0.0, green: 0.34, blue: 0.62, alpha: 1.0) underlayView.alpha = 0.36 tabBar.insertSubview(underlayView, atIndex: 1) 中的家人返回do not cast

答案 1 :(得分:0)

scanf("%d",&(ptr->data->numero));

您从未为data分配内存。

scanf("%s",(ptr->data->prenom)); 

您从未为prenom分配内存。

malloc一样使用ptr为这些对象分配内存。