如何在不知道大小的情况下malloc数组结构

时间:2016-04-21 17:30:21

标签: c struct malloc

我有一个单词结构:

typedef struct {
   char *word;
   unsigned long occurrences;
} Word;

我想要malloc这些数组,但我不知道它的大小有多大。有没有办法在不事先知道数组大小的情况下对malloc结构数组进行malloc?

感谢。

1 个答案:

答案 0 :(得分:3)

您可以使用viewdidload()分配内存,然后使用var secondaryMenuBottomConstraint: NSLayoutConstraint! func setupSecondaryMenu(secondaryMenu: UIView){ secondaryMenu.translatesAutoresizingMaskIntoConstraints = false let topConstraint = secondaryMenu.topAnchor.constraintEqualToAnchor(view.bottomAnchor) let leftConstraint = secondaryMenu.leftAnchor.constraintEqualToAnchor(view.leftAnchor) let rightConstraint = secondaryMenu.rightAnchor.constraintEqualToAnchor(view.rightAnchor) view.addSubview(secondaryMenu) NSLayoutConstraint.activateConstraints([topConstraint, leftConstraint, rightConstraint]) self.view.layoutIfNeeded() secondaryMenu.removeFromSuperview() } func showSecondaryMenu(secondaryMenu: UIView){ //Close any open keyboards amountTextField.resignFirstResponder() notesTextField.resignFirstResponder() //Add the view and then add constraints to show the submenu below the current view secondaryMenu.translatesAutoresizingMaskIntoConstraints = false let topConstraint = secondaryMenu.topAnchor.constraintEqualToAnchor(view.bottomAnchor) let leftConstraint = secondaryMenu.leftAnchor.constraintEqualToAnchor(view.leftAnchor) let rightConstraint = secondaryMenu.rightAnchor.constraintEqualToAnchor(view.rightAnchor) view.addSubview(secondaryMenu) NSLayoutConstraint.activateConstraints([topConstraint, leftConstraint, rightConstraint]) secondaryMenuBottomConstraint = secondaryMenu.bottomAnchor.constraintEqualToAnchor(view.bottomAnchor) //animate the view up into place UIView.animateWithDuration(0.4, animations: { topConstraint.active = false self.secondaryMenuBottomConstraint.active = true self.view.layoutIfNeeded() }) } func dismissSecondaryMenu(secondaryMenu: UIView){ if secondaryMenu.superview != nil { secondaryMenu.translatesAutoresizingMaskIntoConstraints = false let secondaryMenuTopConstraint = secondaryMenu.topAnchor.constraintEqualToAnchor(view.bottomAnchor) self.secondaryMenuBottomConstraint.active = false UIView.animateWithDuration(0.4, animations: { secondaryMenuTopConstraint.active = true self.view.layoutIfNeeded() }, completion: {(finished:Bool) in secondaryMenu.removeFromSuperview() }) } }

更改大小
malloc()