【问题标题】:How to dynamically allocate array of pointers?如何动态分配指针数组?
【发布时间】:2014-04-02 17:14:30
【问题描述】:

我目前正在实现一个将文件从一个目录复制到另一个目录的程序,在该程序中我需要为指针动态分配内存。那么是否可以为array of pointers 动态分配内存?如果是,请指导我。
谢谢...

【问题讨论】:

    标签: c arrays pointers memory-management


    【解决方案1】:

    这会动态分配n 指向char 的指针数组:

    char **p;
    int n = 42;
    
    p = malloc(n * sizeof *p);
    

    然后您可以像访问任何数组一样访问该数组:

    int i;
    
    // Initialize all pointers to NULL
    for (i = 0; i < n; i++)
    {
        p[i] = NULL;
    }
    

    【讨论】:

    • 或者使用calloc()自动清零分配的内存
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 2013-05-26
    • 2020-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多