Is this how GPG/GPG works?
You generate a random key, you use that key to encrypt your message using symmetric encryption, you then encrypt the key with your private or public key using asymmetric encryption. Now you can store the encrypted key and message together, and only the party with the opposite key can access it.
Asymmetric algorithms are not designed to encrypt large amounts of data, and -c does not make it symmetric, it just allows you to set the key.