在C中,定义结构时.创建新实例的正确方法是什么?我见过两种方式:
struct listitem {
int val;
char * def;
struct listitem * next;
};
Run Code Online (Sandbox Code Playgroud)
第一种方式(xCode说这是重新定义结构和错误):
struct listitem* newItem = malloc(sizeof(struct listitem));
Run Code Online (Sandbox Code Playgroud)
第二种方式:
listitem* newItem = malloc(sizeof(listitem));
Run Code Online (Sandbox Code Playgroud)
或者,有另一种方式吗?
我在 Sequelize 中有一个 Postgres 数据库的用户模型:
var User = sequelize.define('User', {
fb_id: DataTypes.STRING,
access_token: DataTypes.TEXT,
first_name: DataTypes.STRING,
last_name: DataTypes.STRING,
email: DataTypes.TEXT,
profilePictureURL: DataTypes.TEXT,
library: DataTypes.ARRAY(DataTypes.STRING)
}, {
underscored: true,
classMethods: {
associate: function(models) {
}
}
});
Run Code Online (Sandbox Code Playgroud)
我正在尝试通过将 ISBN 添加到数组来更新图书馆字段。这是我的 POST 请求的代码:
req.user.library.push(req.body._isbn); // adding the posted ISBN to the user object in my express-session
User.findOrCreate({where: {fb_id: req.user.fb_id},
defaults: {
access_token : req.user.access_token,
first_name : req.user.first_name,
last_name : req.user.last_name,
email : req.user.email,
profilePictureURL : req.user.profilePictureURL,
library: req.user.library // new library object …Run Code Online (Sandbox Code Playgroud)