关于局部变量数据是否需要释放,恳请指教

2019-07-20 20:15发布

本帖最后由 liuchang 于 2016-9-7 09:35 编辑

[mw_shl_code=c,true]void tcp_server_thread(void *arg)
{        
        struct netconn *conn;
        
        conn = netconn_new(NETCONN_TCP);
        netconn_bind(conn, IP_ADDR_ANY, 8080);
        netconn_listen(conn);
        
        while(1)
        {
                uint8_t *buf, flag, info[51];
                uint16_t buflen;
                struct netconn *newconn; //1>我在这里申请了newconn
                struct netbuf *inbuf;
               
                if(netconn_accept(conn, &newconn) != ERR_OK)
                {
                        netconn_close(newconn);
                        netconn_delete(newconn); //2>假如程序能够跑到这里,删除这个局部变量
                        netbuf_delete(inbuf);
                        continue; //3>如果netconn_delete()被注释掉,程序接下来重新进入while(1),                                                                          //会再次创建newconn吗(之前的newconn栈内存会释放吗)?还是会将之前的newconn给覆盖掉?
                }[/mw_shl_code]
问题在程序注释部分,恳请大神指教


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。