How in the world do you make an array that can house int values of buttons?

As you can see below I’m creating a shop. the Larger buttons are placeholders for eventual skin designs and the longer rectangular button below them will show the price in coins, the user will click on these buttons (the long rectangles) to pay for said item above. I know I can use an array to reference each of these buttons but my question is how? I have no clue where to start.

[System.Serializable]
public struct ShopItem
{
public Button SkinButton;
public Button BuyButton;
public int Price;
// Define additional fields if you want
}

public class Shop : MonoBehaviour
{
    // In the inspector, you will see an array
    // you can fill buy dragging & dropping the buttons
    public ShopItem[] ShopItems;

    private void Start()
    {
        for( int i = 0 ; i < ShopItems.Length ; ++i )
        {
            int anticlosureIndex = i ; // keep this variable
            ShopItems*.BuyButton.onClick.AddListener( () =>*

{
Debug.Log( "The item costs " + ShopItems[anticlosureIndex].Price ) ;
});
}
}
}

You just make a script that has an array of buttons and then you ad this script to a game object and then in the unity editor you set the array size to the desired value and drag and drop the buttons into the array

using UnityEngine.UI;

public class Shop : MonoBeahviour{

public Button[] itemButtons;
public Button[] shopButtons;

}

and from there on you can do anything you want with those buttons by typing itemButtons_, for example itemButtons*.text = “test”*_
i in that context being an integer