API - Intermediate question.

I've been working with C# recently, but I learned to program in C++. However, the term API is rather vague to me and I'd like to clear it up. I do understand it is a method for interacting with a set of methods and classes associated with an application or code base. I do not understand how to create one. Do you collect a bunch of header files? Do you compile some source code and include the created .dll in another project via a Reference?

I ask because I'm looking to include ESRI's ArcSDE API in a project, and I want to understand it from a ground level first. The only documentation I've been able to find was about how to write a good API, and how to document it.

TLDR: Please describe some API basics, what is is and how it's made.

Thanks for your time.
Topic archived. No new replies allowed.