茉莉,过来做作业:关于内存
c语言吧
全部回复
仅看楼主
level 9
assiss 楼主
这当然不是我的问题,看你闲得无聊,过来练习C语言。这些天都没见你问任何问题。VC99也别得意,下面就轮到你了。我用malloc函数时,碰到以下问题: 代码:struct command_struct{ char *name; char *argv[20]; int argc; }; struct command_struct *cmd; //1cmd = (struct command_struct *) malloc (sizeof(struct command_struct)); 然后读取字符串,赋给cmd->argv,如: cmd->argv[0] = "ls" cmd->argv[1] = "/home" 然后free(cmd); 循环回到上面 //1处。这次读取的串仅为: cmd->argv[0] = "ls" 但是cmd->argv[1] 里仍然是 "/home"。 有没什么办法能清除掉cmd->argv中的值,最好是能清除掉struct command_struct中所有的值?????????
2004年11月25日 14点11分 1
level 9
assiss 楼主
c语言吧谈生物?茉莉,你最近学习有点退步哦。
2004年11月26日 06点11分 3
level 9
assiss 楼主
4:会倒 是会,不过已经是非法访问了。呵呵。
2004年11月28日 06点11分 6
level 9
assiss 楼主
刚回来。困死了。刚才坐车睡着了,差点被带到别的地方 去。
2004年11月28日 06点11分 8
level 9
assiss 楼主
明天还要考试。我还没复习呢,呵呵,不和你聊了。这个题目算起来不难,但要求很扎实的C语言基础。你现在不会也没什么,过几天我有空了专门讲讲这个吧。
2004年11月28日 06点11分 10
level 9
assiss 楼主
struct command_struct *cmd; //1cmd = (struct command_struct *) malloc (sizeof(struct command_struct));memset(cmd,0,sizeof(struct command_struct));...//use of cmdfree(cmd);cmd=NULL;
2004年11月28日 23点11分 13
1