This document defines and provides examples of different types of complements in English grammar:
1) Direct objects answer the questions "whom?" or "what?" after a transitive verb and receive the action of the verb.
2) Indirect objects tell "to what" or "to whom" or "for what" or "for whom" the action of the verb is done and appear between the verb and direct object.
3) Subject complements complete the meaning of a linking verb and identify or describe the subject. Predicate nominatives identify the subject and predicate adjectives describe the subject.