Food within Alhmabra is limited and overpriced.
Best to have a meal before you go into the Alhambra fort complex, or bring some food as a packed lunch. If you are taking in packed lunch to Alhambra, be aware that you cannot eat just anywhere but only in designated places.
The other option for food is to head to the terrace cafeteria at Hotel Parador, within the Alhambra complex. At Parador, you can get a fixed-price meal as well as light meals and sandwiches. The food at Parador restaurant is reasonably priced, considering you're in an upscale hotel.
Right next door to Parador is Hotel America with pricey meals served at its restaurant. If you are at Alcazaba, you have the octagonal food court serving food and drink - bocadillos, basic sandwiches and cold beer.
While visiting Alhambra, bring a water bottle and refill at the many fountains dotted around the Alhambra complex.