// designated initialization --> it's a way to initialize elements of an array by it's index,
// and set the value of the other elements to 0
// ex 1
int arr[5] = {[2] = 5, [3] = 10};
for (int i = 0; i < 5; i++)
{
printf("%d ", arr[i]); // 0 0 5 10 0
}
// ex 2
int arr[10] = {1, 7, [2] = 5, [3] = 10};
for(int i = 0;i<10;i++){
printf("%d ", arr[i]); // 1 7 5 10 0 0 0 0 0 0
}
// ex 3
int arr[ ] = {2, [5] = 1}; // size is 6
printf("%lu", sizeof(arr)); // 24 --> 6 * 4
int x[] = {1,2,3}; // x has type int[3] and holds 1,2,3
int y[5] = {1,2,3}; // y has type int[5] and holds 1,2,3,0,0
int z[3] = {0}; // z has type int[3] and holds all zeroes