C语言二级指针free|一级指针存储内存地址

这个问题是由想利用数组存储地址,但是又不确定数组长度

先看二级指针,这样就能做到在数组中存储指针了,他的另外的形式可以是 int *p[8] 

p先和[]结合表示是数组,数组里面存放指针

    int m = 8;
    MapEntry **aks = (MapEntry**)malloc(sizeof(MapEntry*) * m);
    

    for (int i = 0; i < m; i++){
        
        aks[i] = (MapEntry*)malloc(sizeof(MapEntry*));
        char *s = (char*)malloc(sizeof(char) * 4);
        aks[i]->k =s;

    }

    for (int i = 0; i < m; i++)
    {
        free(aks[i]->k);
    }

 

posted @ 2020-12-22 17:20  方东信  阅读(435)  评论(0编辑  收藏  举报