动态数组为什么感觉没有调用到函数


#define _CRT_SECURE_NO_WARNING
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct DynamicArray
{
    
    void** addr; 
    
    int capacity;
    
    int size;
};


struct DynamicArray* Init_DynamicArray(int capacity)
{
    if (capacity <= 0)
    {
        return NULL;
    }

    struct DynamicArray* arr = malloc(sizeof(struct DynamicArray));

    if (arr == NULL)
    {
        return NULL;
    }

    
    arr->capacity = capacity;
    arr->addr = malloc(sizeof(void*) * capacity);
    arr->size = 0;

    return arr;
}


void Insert_DynamicArray(struct DynamicArray* arr, int pos, void* data)
{
    if (arr == NULL)
    {
        return;
    }

    if (data == NULL)
    {
        return;
    }
    
    if (pos < 0 || pos >arr->size)
    {
        pos = arr->size;
    }
    
    if (arr->size >= arr->capacity)
    {
        
        int newcapacity = arr->capacity * 2;
        void** newspace = malloc(sizeof(void*) * newcapacity);
        
        memcpy(newspace, arr->addr, sizeof(void*) * arr->capacity);

    
        free(arr->addr);

    
        arr->addr = newspace;
        arr->capacity = newcapacity;
    }

    
    for (int i = arr->size - 1; i >= pos; i--)
    {
        arr->addr[i + 1] = arr->addr[i];
    }


    arr->addr[pos] = data;

}

void Foreach_DynamicArray(struct DynamicArray* arr, void(*_callback)(void*))
{
    if (arr == NULL)
    {
        return;
    }

    if (_callback==NULL)
    {
        return;
    }

    for (int i = 0; i < arr->size; i++)
    {
        _callback(arr->addr[i]);
    }

}
struct Person
{
    char name[64];
    int age;
};

void myPrint(void* data)
{
    struct Person* person = (struct Person*)data;
    printf("Name =%s ,Age =%d \n", person->name,person->age);
}

void test()
{
    
    struct DynamicArray* dd=Init_DynamicArray(5);


    struct Person a1 = {"abcd",222};
    struct Person a2 = { "dddd",333 };
    struct Person a3 = { "ssss",444 };
    struct Person a4 = { "eeee",555 };
    struct Person a5 = { "gggg",666};
    struct Person a6 = { "bbbb",777 };
    
    Insert_DynamicArray(dd, 100, &a1);
    Insert_DynamicArray(dd, 100, &a2);
    Insert_DynamicArray(dd, 100, &a3);
    Insert_DynamicArray(dd, 100, &a4);
    Insert_DynamicArray(dd, 100, &a5);


    printf("capatity1 : %d \n", dd->capacity);
    Insert_DynamicArray(dd, 100, &a6);
    printf("capatity2 : %d \n", dd->capacity);

    Foreach_DynamicArray(dd,myPrint);
}

int main()
{
    test();


    system("puase");
    return 0;
}