我定义了一个结构:typedef struct tagUser{
char name[30];
char passwd[30];
};然后
tagUser *user=NULL;
user=new tagUser;
竟然出现这样的问题:
sizeof(user) //4 ? 怎么是4 ?我明明只分配了一个结构空间,为什么下面的都可以?
strcpy(user[0].name,"abc");
strcpy(user[1].name,"bcd");期待高手啊。。
char name[30];
char passwd[30];
};然后
tagUser *user=NULL;
user=new tagUser;
竟然出现这样的问题:
sizeof(user) //4 ? 怎么是4 ?我明明只分配了一个结构空间,为什么下面的都可以?
strcpy(user[0].name,"abc");
strcpy(user[1].name,"bcd");期待高手啊。。
所以当然sizeof(user)=4了。如果sizeof(tagUser)就不是4了。
user[1] 指向user指针+user内容大小的偏移指向的内容,但是结果应该是错的
假如我只想分配一个 这样的内存空间,那该怎么做?tagUser *user=NULL;
user=new tagUser;
这样是不行了