关于一个指针使用的有关问题
关于一个指针使用的问题
CPtrList userList(sizeof(User));
struct User *user_temp = new User;
memset(user_temp,0,sizeof(User));
user_temp-> num = 1;
strcpy(user_temp-> name, "LaYa ");
user_temp-> online = FALSE;
userList.AddTail(user_temp);
----------------------------------------------------
CPtrList userList(sizeof(User));
struct User user_temp;
memset(&user_temp,0,sizeof(User));
user_temp-> num = 1;
strcpy(user_temp-> name, "LaYa ");
user_temp-> online = FALSE;
userList.AddTail(&user_temp);
---------------------------------------------------
为什么上面一段我在userList.GetAt(pos)的时候就能得到正确的结构体,而下面一段得到的结构体内的值会不对。&user_temp的意思不就是user_temp的地址吗.为什么传递指针变量就可以,用&user_temp就不行?
------解决方案--------------------
临时变量。。。出了函数作用域就回收了。。。
CPtrList userList(sizeof(User));
struct User *user_temp = new User;
memset(user_temp,0,sizeof(User));
user_temp-> num = 1;
strcpy(user_temp-> name, "LaYa ");
user_temp-> online = FALSE;
userList.AddTail(user_temp);
----------------------------------------------------
CPtrList userList(sizeof(User));
struct User user_temp;
memset(&user_temp,0,sizeof(User));
user_temp-> num = 1;
strcpy(user_temp-> name, "LaYa ");
user_temp-> online = FALSE;
userList.AddTail(&user_temp);
---------------------------------------------------
为什么上面一段我在userList.GetAt(pos)的时候就能得到正确的结构体,而下面一段得到的结构体内的值会不对。&user_temp的意思不就是user_temp的地址吗.为什么传递指针变量就可以,用&user_temp就不行?
------解决方案--------------------
临时变量。。。出了函数作用域就回收了。。。