I want to create an array of structs based on one struct definition, and initialize each one with a different int value.
Then, I want to print this value, using a function pointer that points to a print function.
- Define a struct (includes an int and a function pointer). 
- create an array of 10 structs of the same definition. 
- set different values for each one of them. 
- send this value for a function that is pointed to by a function 
 pointer that is also located in the struct
This is my code:
#include <stdio.h>
#include <stdlib.h>
#define ARRAY_SIZE 10
void Print(int num);
typedef struct print_me
{
    int x;
    void (*Print)(int x);
};
    
struct print_me my_prints[ARRAY_SIZE];
int main()
{
    size_t i = 0;
    for (i = 0; i < ARRAY_SIZE; ++i)
    {
        my_prints[i].x = i;
        my_prints[i].Print(my_prints[i].x);
    }
    return 0;
}
void Print(int num)
{
    printf("%d\n",num);
}
I'm still learning the ideas of function pointer and structs , so I'll be glad to get some tips and suggestions that will help me to understand my mistakes here.
Thanks.
 
     
    