数组指针的malloc实现

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int num = 3;
    int (*p)[5] = NULL;

        p = (int (*)[5])malloc(num * sizeof(int[5]));
        if (NULL == p)
        {
                return -1;
        }

    for (int i = 0; i < num; ++i) {
        for (int j = 0; j < 5; ++j) {
            p[i][j] = 5 * i + j;
        }
    }
    for (int i = 0; i < num; ++i) {
        for (int j = 0; j < 5; ++j) {
            printf("%d ", p[i][j]);
        }
        printf("\n");
    }

        printf("p[1][3]: %d\n", p[1][3]);

    delete[] p;
}

输出结果:

0 1 2 3 4 
5 6 7 8 9 
10 11 12 13 14 
p[1][3]: 8
发布了34 篇原创文章 · 获赞 8 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/sunny_xiaot/article/details/99717563