The correct option is C The president elect gave her official speech today.
An attributive adjective is placed right before the noun/noun phrase it
modifies. Consider: A silver bracelet; 'silver' is an attributive
adjective that is placed before the noun 'bracelet' it modifies.
Predicative adjectives are placed after the noun, but not
immediately after it; it is joined by a linking verb that is placed after
that noun, for example, 'I am tall', where 'tall' is the adjective that
is used predicatively and is placed after the linking verb, 'am'.
Sometimes, an adjective is placed directly after the noun it modifies.
(For example, an adjective of size that follows the noun: six feet tall; 'tall' is an adjective of size, 'six' is an adjective of number and 'feet' is the noun. The former is predicative and the latter is attributive. )
This small group of adjectives, called 'post nominal adjectives', can occur only after the noun, like 'president elect', 'devil incarnate'; 'elect' and 'incarnate' are adjectives.
Option C contains the post nominal adjective, "president elect", hence it is correct.
Option A is incorrect because "elect" does not follow "official", 'official elect' makes no sense here; moreover, the adjective modifies 'president'.
Option B is incorrect because "elect" is placed before the noun here; since it is an exception, the adjective should be placed after the noun "president". (If it is placed before the noun, it must be written as: 'the elected president.')
Option D is incorrect because the answer lies in C.